質問はそれをすべて言います:
転送中にrsnapshotまたはrdiff-backupが中断された場合はどうなりますか?
Rsnapshotはシステムの完全なスナップショットをローテーション方式で作成しようとし、rdiff-backupは差分バックアップを作成します。差分バックアップは、その背後に以前に保存されたファイルに基づいています。
だから:途中で中断されるとどうなりますか?
これは「不完全なスナップショット」になりますか?
これに依存する他のスナップショットは破損しますか? (確かにそうではありませんが、...?)
私の理解は...
rdiff-backupは、次回の実行時に不完全な増分を検出します。バックアップの場所が、中断されたバックアップの試行が開始されなかった場合と同じになるように、不完全な増分を削除します。
rsnapshotは、ルーチンがより段階的で、sync_first
およびuse_lazy_deletes
オプションの使用に応じて変化するため、少し複雑です。
sync_first
を使用し、rsnapshot sync
が中断された場合、rsnapshot sync
を再度実行して問題を解決できます。代わりにこの時点で誤ってrsnapshot <backup level>
を実行した場合、最新のバックアップポイントは不完全なままで、ローテーションで実行されます。sync_first
を使用しない場合、ファイルの古いバージョンと新しいバージョンのハイブリッドである不完全なバックアップポイントが残っています。各バックアップポイントを手動で逆回転させない限り、不完全なバックアップポイントは回転を介して実行されます。rsnapshot <backup level>
を有効にしない限り、use_lazy_deletes
を実行すると、最も古いバックアップポイントが失われます。sync_first
とuse_lazy_deletes
には、より多くのディスク容量を使用するという犠牲が伴うことに注意してください。
リマインダー/免責事項:これは言うまでもありませんが、インターネット上の他人のアドバイスを盲目的に信頼することは決してありません。何かmission-criticalにrdiff-backupまたはrsnapshotを使用する場合は、everyマニュアルの言葉とtest、test、testすべて自分で!
それはちょうど私に起こった。私の外付けドライブは、rsnapshotの増分バックアップの途中でいっぱいになりました。
rsync: write failed on "<path>": No space left on device (28)
これから学んだことをいくつか共有したいと思います。すなわち、そのようなケースが私をかみつけるかなりの機会を修復し、制限すること;)
安全にロールバックする2つの方法を知っています。
rsnapshotには一時停止/停止および再開機能がありません(ロールバックプランにより制限された "skip-" 2 を除く)。したがって、ラッパーを使用する必要があります。これらの機能を処理します。
rsnapshot-once
by Philipp C. Heckelは、PHPのrsnapshotのラッパーです。
これを1年間使用して、私は幸せなユーザーです。バックアップの必要性と出来事、幸運な日のためにphp.iniのopenbase_dir
を編集しました。
注:slmは重複した質問から私をここにリンクしました: Rsnapshot destination full-how to safe rerun?