web-dev-qa-db-ja.com

転送中にrsnapshot / rdiff-backupが中断されるとどうなりますか?

質問はそれをすべて言います:

転送中にrsnapshotまたはrdiff-backupが中断された場合はどうなりますか?

Rsnapshotはシステムの完全なスナップショットをローテーション方式で作成しようとし、rdiff-backupは差分バックアップを作成します。差分バックアップは、その背後に以前に保存されたファイルに基づいています。

だから:途中で中断されるとどうなりますか?

これは「不完全なスナップショット」になりますか?

これに依存する他のスナップショットは破損しますか? (確かにそうではありませんが、...?)

20
emf

私の理解は...

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_firstuse_lazy_deletesには、より多くのディスク容量を使用するという犠牲が伴うことに注意してください。


リマインダー/免責事項:これは言うまでもありませんが、インターネット上の他人のアドバイスを盲目的に信頼することは決してありません。何かmission-criticalにrdiff-backupまたはrsnapshotを使用する場合は、everyマニュアルの言葉とtest、test、testすべて自分で!

22
ændrük

それはちょうど私に起こった。私の外付けドライブは、rsnapshotの増分バックアップの途中でいっぱいになりました。

rsync: write failed on "<path>": No space left on device (28) 

これから学んだことをいくつか共有したいと思います。すなわち、そのようなケースが私をかみつけるかなりの機会を修復し、制限すること;)

Rsnapshotの中断されたバックアップを再開する

安全にロールバックする2つの方法を知っています。

手動で

  1. 最後のディレクトリを削除します(例:daily.0)
  2. 連続したディレクトリの名前を変更します(daily.1-> daily.0、...);可能なスクリプト 1
  3. 通常どおりバックアップを実行します(もう一度)。

自動的に

rsnapshotには一時停止/停止および再開機能がありません(ロールバックプランにより制限された "skip-" 2 を除く)。したがって、ラッパーを使用する必要があります。これらの機能を処理します。

rsnapshot-once by Philipp C. Heckelは、PHPのrsnapshotのラッパーです。

  • rsnapshotのconfを変更せずに動作します
  • 毎日、毎週、毎月のタスクがそれぞれの期間に1回だけ実行されるようにします、cron経由(ラップトップには最適)
  • 失敗したバックアップのロールバック(最後のバックアップが完了したかどうかを確認します。完了していない場合、最後のディレクトリが削除され、連続するディレクトリの名前が変更されます(例:daily1。-> daily.0、...)

これを1年間使用して、私は幸せなユーザーです。バックアップの必要性と出来事、幸運な日のためにphp.iniのopenbase_dirを編集しました。

注:slmは重複した質問から私をここにリンクしました: Rsnapshot destination full-how to safe rerun?

1
tuk0z