次のフォルダがあります。
.
├── 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/