rsyncを使用したディレクトリの同期

rsyncを使用したディレクトリの同期

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

関連情報