- blogs:
- cles::blog

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

rsync を使ってバックアップを取るときに、--delete
オプションをつけることが多いと思いますが、ログを見ていると新しいファイルが転送される前に削除処理が実施されているため、バックアップ中は冗長性が失われているということが気になっていたので、ファイルが削除されるタイミングが調整できないものかと思っていろいろと調べてみました。
マニュアルを確認してみると、実は--delete
オプションにはいろいろ種類があるんですね。
--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が必要です→https://blog.cles.jp/item/12285
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110776)
3 . 年次の人間ドックへ(110371)
4 . 2023 年分の確定申告完了!(1つめ)(109917)
5 . 三菱鉛筆がラミーを買収(109817)