다음 폴더가 있습니다.
.
├── result
├── test
│ ├── file1
│ ├── file2
│ ├── file3
│ └── file4
└── test2
├── file1
├── file2
├── file3
└── file5
test
원본 폴더입니다.- 일부
test2
파일은 다르고 일부 파일은 동일하며 일부 파일은 내부에만 존재합니다.
나는 사용자 rsync가 위의 파일보다 최신 이거나 존재하지 않는 result
파일 만 복사하기를 원합니다 .test2
test
test
=
나는 모든 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/