私は次のトピックを読んだ。
しかし、私が知っている限り(何か落ちたかもしれない)、次の問題は扱いません。
rsync
送信側、受信側に存在しないファイルのコピーおよび削除を要求する方法(例外)は何ですか? (たとえば、.hg
送信側にリポジトリがない場合でも、受信側のMercurialリポジトリを削除しないでください。)
一つの可能性は?
下記@Richard Hollowayの回答を借りてください。次のような行があるとしましょう。
rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path
rsync
私が理解したように、この行はトランスポートパスにないすべてのエントリを削除しますdont_delete_me
。今私の質問は、rsyncが受信側で同じままであるかどうかです。dont_delete_me
送信者が一致するものがない場合でも同じですかdont_delete_me
?
ベストアンサー1
--delete
とを使用すると、--exclude
元のファイルを削除しても除外された場所の内容は削除されません。
rsync
ただし、これによりフォルダがまったく削除されない問題が発生します。したがって、そのフォルダrsync
に対して他の作業が必要ですsync
。
例えば。
rsync -nav /home/richardjh/keepall/ /home/backup/richardjh/keepall/
rsync -nav --exclude=keepall --delete /home/richardjh /home/backup/richardjh
これを反対方向に実行することもできますが、削除されたファイルをすべて削除してから置き換えるので、それほど効率的ではありません。
ライナーではできません。