rsync를 사용하여 원격 시스템의 디렉터리에 있는 특정 파일 집합을 로컬 디렉터리와 동기화하고 싶습니다. 나는 다음과 같은 것을 실행합니다 :
rsync -i -a --delete -f 'merge ~/files_list' x.x.x.x:/source/dir/ /target/dir/
~/files_list
원격 디렉터리에 더 많은 파일이 있고 특정 하위 집합만 복사하려고 하므로 파일에는 동기화할 특정 파일 이름 패턴 목록(와일드카드 포함)이 포함되어 있습니다. --delete
원격 시스템에 더 이상 존재하지 않는 파일을 로컬 시스템에서 삭제하려고 하기 때문에 이 매개변수도 중요합니다.
이것은 한 가지를 제외하고는 예상대로 작동합니다. 소유자와 권한이 로 변경되는데 /target/dir
, /source/dir
이는 제 경우에는 허용되지 않습니다.
이 행동을 제거하는 방법은 무엇입니까? 인수 없이 rsync가 단순히 "최상위 디렉터리 속성을 수정하지 마십시오"라고 말하는 것을 믿을 수 없습니다. 종종 필요한 것 같기 때문입니다.
*
내 경우에는 이후에 넣는 명백한 솔루션이 효과적으로 비활성화 되고 대상에는 존재하지만 소스에는 없는 파일이 삭제되지 않았기 /source/dir/
때문에 작동하지 않았습니다 .--delete
이 문제를 해결할 방법이 있나요?
편집하다-a
: 사용하지 말거나 명시적으로 명시하지 말라는 답변을 많이 받았기 때문입니다 --no-perms
.정말 알아요그게 무슨 -a
뜻이야, 거기 있잖아고의로. 나정말로 원한다가지다모든 것이 동기화되어 있습니다.(권한 및 소유권 포함)디렉토리 내용. 나는 그저 원할 뿐이야디렉터리 자체를 건너뜁니다..
rsync
"하지 마세요"라고 적힌 스위치가 있었으면 좋겠어요 .최고의목차." 바로 그 내용이 되어야 합니다.
답변1
--no-perms --no-owner --no-group 추가