디렉토리 목록을 rsync에 전달

디렉토리 목록을 rsync에 전달

120개의 경로가 포함된 텍스트 파일이 있습니다 list_of_dirs_to_copy.

data/A/backups/2018_02_12
data/B/backups/2/files
data/B/old_files/2015_12
data/C/my_datafiles/800/dat
data/F/backups & old files (second backups)
...

중요한 팁LF: 위 파일에는 개행 문자가 있고, &디렉토리 이름에 및 등의 특수 문자가 있습니다.(

data에 누워있다 /mnt/storage3/workfiles/backups. 그래서 나는 cd /mnt/storage3/workfiles/backups내 길을 list_of_dirs_to_copy적절하게 만들기 위해 이렇게 합니다.

이제 다음 명령을 사용하여 텍스트 파일에 나열된 모든 디렉터리(및 모든 숨겨진 파일과 하위 디렉터리)를 다른 하드 드라이브에 복사하고 싶습니다.

rsync -rvh --append-verify --chmod=ugo=rwX --no-o --no-g --no-perms --progress --stats $list_of_directories /drives/f/data_backups/

rsync디렉토리 목록을 손상시키지 않고 전달(즉, 수신)하려면 어떻게 해야 합니까 Argument list too long? 각 텍스트 줄을 rsync하나씩 보낼 수 있나요? 이게 말이 돼?

답변1

rsync -av ...options... --files-from=list_of_dirs_to_copy \
    /mnt/storage3/workfiles/backups/ \
    /drives/f/data_backups

경로는 list_of_dirs_to_copy소스 디렉터리를 기준으로 해석됩니다. 주어진 목록을 사용하여 data아래에 하위 디렉터리가 생성됩니다 /drives/f/data_backups.

관련 정보