Rsyncはファイルを上書きしません。

Rsyncはファイルを上書きしません。
  1. 私は2つのディレクトリを持っています -etcそしてoldroot/etc
  2. etcすべてのファイルが正確に一致したいと思います。oldroot/etc
  3. etcもしその中にないファイルがあればoldroot/etcそのまま維持したいと思います。

私が考えることができるすべてのrsyncフラグを試しましたが、目的の結果を得ることはできません。

# # A few of the simpler commands I have tried
# rsync -Ia oldroot/etc etc
# rsync -Iac oldroot/etc etc
# rsync -ac oldroot/etc etc

エラーなしで完了します。 ()ディレクトリを比較すると、diff -r oldroot/etc etc両方のディレクトリに内容が異なる同じファイルが複数あります。私は過去2日間仕事にいましたが、言うまでもなく途方もなくイライラしました。

ベストアンサー1

rsync --… oldroot/etc etcソースディレクトリをetcターゲットディレクトリのサブディレクトリにコピーするため、ファイルはoldroot/etc/foo最終的ににコピーされますetc/etc/foo。ディレクトリを同じ名前のディレクトリにコピーするには、ターゲットディレクトリの親ディレクトリを指定します。

rsync -a oldroot/etc .

あるディレクトリを別のディレクトリにコピーするには、ソースディレクトリの後にスラッシュを追加して、ソースディレクトリの内容をターゲットディレクトリにコピーするようにrsyncに指示します。 (対象の後尾スラッシュには違いはありません。)

rsync -a oldroot/etc/ etc

おすすめ記事