rsyncの問題ソースとターゲットを同期しています(ターゲットに重複ファイルをアーカイブ)

rsyncの問題ソースとターゲットを同期しています(ターゲットに重複ファイルをアーカイブ)

rsyncは私にとって非常に明確ですが、まだ把握できない特定のタスクがあります。

ソースとターゲットを1:1に同期したいです。私はこの--deleteオプションがそれを扱うと信じています。したがって、ソースにファイルを追加すると、rsync はそのファイルをターゲットに追加します。ソースからファイルが削除されると、rsync はターゲットからもそのファイルを削除します。さて、ターゲットファイルを削除する代わりにArchiveフォルダに移動したいと思います。

ソースから欠落しているファイルのリストをrsyncに要求できますか?では、リスト内のアイテムをターゲットからライブラリに移動できますか?

動作するソリューションがありますが、ファイル転送に関連しており、rsyncのバージョンによって異なる可能性があるrsyncコンソールの出力に依存しているため、不安定です。

rsync -avun --delete src/ tgt/ |grep "deleting" | cut -c10- > transfer.txt
rsync --files-from=transfer.txt --remove-source-files tgt/ archive/
rm transfer.txt
rsync -ravu --delete src/ tgt/

より安定した方法でこれを行う方法についてのアイデアはありますか?

ベストアンサー1

この--backup --backup-dir=/some/backup/directoryオプションは、ターゲットから変更または削除されたファイルをバックアップします。

rsync -auv --delete --backup --backup-dir=/path/to/backupdir src/ tgt/

パスは--backup-dirターゲットに基づいているため、内部に配置したくない場合はtgt/絶対パスを指定することをお勧めします。

おすすめ記事