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/

おすすめ記事