rsync --compare-dest arg는 어쨌든 존재하지 않습니다.

rsync --compare-dest arg는 어쨌든 존재하지 않습니다.

다음 폴더가 있습니다.

.
├── result
├── test
│   ├── file1
│   ├── file2
│   ├── file3
│   └── file4
└── test2
    ├── file1
    ├── file2
    ├── file3
    └── file5
  • test원본 폴더입니다.
  • 일부 test2파일은 다르고 일부 파일은 동일하며 일부 파일은 내부에만 존재합니다.

나는 사용자 rsync가 위의 파일보다 최신 이거나 존재하지 않는 result파일 만 복사하기를 원합니다 .test2testtest

=나는 모든 OS에서 다음을 실행하여 폴더 이름과 폴더 이름 사이에 존재하는지 여부 --compare-dest, 폴더 이름에 슬래시가 있는지 여부를 변경하고 어떤 폴더 대상이 비교되고 있는지 오해한 경우를 대비하여 매개 변수를 반전시킵니다.

rsync -av --dry-run --itemize-changes --compare-dest=test2 test/ result/
rsync -av --dry-run --itemize-changes --compare-dest=test2/ test/ result/
rsync -arv --dry-run --itemize-changes --compare-dest test test2/ result/
rsync -arv --dry-run --itemize-changes --compare-dest test/ test2/ result/

그들 모두는 나에게 이렇게 말했습니다.

--compare-dest arg does not exist: NAME_OF_EXISTING_FOLDER
  • 내가 뭘 잘못했나요?
  • 이 질문의 시작 부분에서 설명한 요구 사항을 충족하기 위해 실행하는 올바른 명령은 무엇입니까?

답변1

man rsync:

DIR이 상대 경로인 경우 대상 디렉터리를 기준으로 합니다.

다음을 수행해야 합니다.

rsync -av --dry-run --itemize-changes --compare-dest="$PWD"/test test2/ result/

관련 정보