로컬 컴퓨터의 단일 디렉터리와 동기화하려는 원격 컴퓨터의 다양한 디렉터리에 있는 파일 목록이 있습니다.
단일 파일의 경우 user@remote:dir1/dir2/file1 ~/local
IE 요구 사항에 적합합니다.~/local/file1
사용하면 --files-from
원하지 않는 디렉토리 구조가 생성됩니다.~local/dir1/dir2/file1
참고: 다른 디렉터리의 중복된 파일 이름으로 인해 파일을 덮어쓸 수 있다는 것을 알고 있습니다.~/local
답변1
rsync
( )에 대한 문서는 man rsync
권장 사항 중 하나로 이 특정 시나리오를 제공합니다.
--files-from=FILE
이 옵션을 사용하면 전송할 파일의 정확한 목록을 지정할 수 있습니다(지정된 FILE 또는-
표준 입력의 " "에서 읽음). 또한 지정된 파일과 디렉터리만 더 쉽게 전송할 수 있도록 rsync의 기본 동작을 조정합니다.o
--relative
파일의 각 항목에 대해 지정된 경로 정보를 유지하는 암시적() 옵션(이 옵션을 끄려면 또는 사용).-R
--no-relative
--no-R
[...]
이것을 문제에 적용하면,
rsync -av --files-from=/tmp/filelist --no-R user@remote:dir1/dir2/file1 ~/local
동일한 이름을 가진 두 개 이상의 파일이 있으면 정의되지 않은 동작이 발생하고 rsync
체크섬 불일치로 인해 오류가 발생하여 실패할 수 있다고 생각합니다. 그러지 마세요.