파일 목록을 단일 디렉터리로 재동기화

파일 목록을 단일 디렉터리로 재동기화

로컬 컴퓨터의 단일 디렉터리와 동기화하려는 원격 컴퓨터의 다양한 디렉터리에 있는 파일 목록이 있습니다.

단일 파일의 경우 user@remote:dir1/dir2/file1 ~/localIE 요구 사항에 적합합니다.~/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체크섬 불일치로 인해 오류가 발생하여 실패할 수 있다고 생각합니다. 그러지 마세요.

관련 정보