두 개의 디렉토리가 있습니다 /test
.
$ ls /test/
dir1 dir2
난 달린다:
$ rsync --recursive --links --perms --executability --times --delete /dir2 /test/
내 기대는 /test/dir1
제거되는 것이었지만 그렇지 않았습니다. 이것을 달성할 수 있는 방법이 있나요? rsync 옵션 중 어느 것도 --delete*
작업을 수행하지 않는 것 같습니다.
감사합니다. 마틴
답변1
/
/dir2
소스 경로 끝에 ( )가 없기 때문에 rsync
와 동기화를 나타냅니다. 추가되면 존재하지 않는 콘텐츠는 모두 제거됩니다./dir2
/test/dir2
--delete
rsync
/test/dir2
/dir2
어떤 지점도 방문하거나 고려되지 않습니다 /test/dir1
.
/dir2/
그러나 이를 소스 경로 로 사용하면 동기화 rsync
됩니다 ( 가 아님 ). 추가하면 존재 하지도 존재할 수도 없기 때문에 둘 다 제거됩니다 ./dir2
/test
/test/dir2
--delete
/test/dir2
/test/dir1
/dir2/dir1
/dir2/dir2
대상 경로에 대한 후행 /
은 관련이 없지만 소스 경로에 대한 후행은 /
소스 디렉터리를 대상 경로 아래의 별도 디렉터리로 동기화해야 하는지( 사용하여 /
) 또는 rsync
대상 경로 자체와 동기화해야 하는지( 사용하여 /
)를 결정합니다.