CentOS 6システムのディレクトリをバックアップするスクリプトがあります。
これは非常に基本的ですが、これを行います。
rsync -a remote:~/original ./backup
これはうまくいきます。元のコンテンツをバックアップにコピーします。しかし。元のファイルから削除されたエントリはバックアップに残ります。
rsync
エントリが追加または削除されたかどうかに関係なく、両方のディレクトリの内容が同じであることを確認することが可能かどうか疑問に思います。
以前のバックアップディレクトリの内容を削除することは、ディレクトリが大きいrsync
ためオプションではありません。
答え1
ソースからファイルが削除されたときにターゲットからファイルを削除するには、--deleteオプションを使用します。
rsync -vaz --delete <origin_folder> <destination_folder>
これで、ソースサイトがそのアイテムを削除すると、ターゲットサイトもそのアイテムを削除します。
答え2
選択できるいくつかの削除オプションがあります。以下はページから抜粋したものですman rsync
。
--delete delete extraneous files from dest dirs
--delete-before receiver deletes before xfer, not during
--delete-during receiver deletes during the transfer
--delete-delay find deletions during, delete after
--delete-after receiver deletes after transfer, not during
--delete-excluded also delete excluded files from dest dirs