BLOGTIMES
2021/02/11

rsync の delete オプションは種類がいろいろある

  rsync 
このエントリーをはてなブックマークに追加

rsync を使ってバックアップを取るときに、--deleteオプションをつけることが多いと思いますが、ログを見ていると新しいファイルが転送される前に削除処理が実施されているため、バックアップ中は冗長性が失われているということが気になっていたので、ファイルが削除されるタイミングが調整できないものかと思っていろいろと調べてみました。

マニュアルを確認してみると、実は--deleteオプションにはいろいろ種類があるんですね。

rsync(1) man page

--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

the default delete mode when you specify --delete is now --delete-during when both ends of the connection are at least 3.0.0 (use --del or --delete-during to request this improved deletion mode explicitly). See also the --delete-delay option that is a better choice than using --delete-after.

ちなみに、rsync が 3.0.0 以降の場合--delete--delete-duringと同じ指定(つまり、転送しながら削除対象を見つけたら削除)、それ以前の場合は--delete-before(ファイル転送をする前に削除)という動作になるようです。

今回の僕のユースケースでは--delete-delay --delete-afterを使うことになりますが、特に同期対象の容量が大きい場合に--delete-afterとすると、一時的に大きなディスクスペースを取ることになるので disk full にならないような十分な容量設計を行う必要がありそうです。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/12285
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン