rdiff-backupを使うと、非常に手軽にLinuxで差分バックアップを行うことができます。
rsyncで日頃の完全なバックアップを用意しつつ、日次の差分バックアップはrdiff-backupを併用すると、安心したバックアップ環境が構築できます。
バックアップ方法
ローカルバックアップ
- バックアップ元ディレクトリ:/data_dir
- バックアップ先ディレクトリ:/backup_dir
# rdiff-backup /data_dir /backup_dir
バックアップ結果を最後に表示させたい場合は、
# rdiff-backup --print /data_dir /backup_dir
とする。
バックアップから特定のファイルやディレクトリを除外したい場合は、
# rdiff-backup --exclude '除外したいファイル or ディレクトリ' /data_dir /backup_dir
とする。
リモートバックアップ(対向先にもrdiff-backupがインストールされていること)
バックアップ元(ローカル)→バックアップ先(リモート)の場合
- バックアップ元ディレクトリ:/data_dir
- バックアップ先ディレクトリ:/backup_dir
- 接続先ホスト(IPアドレス):192.168.0.1
- 接続先ユーザー名:backuser
# rdiff-backup /data_dir backuser@192.168.0.1::/backup_dir
バックアップ履歴の確認
# rdiff-backup -l backup_rdiff-backup
Found 2 increments:
increments.2014-06-07T05:00:17+09:00.dir Sat Jun 7 05:00:17 2014
increments.2014-06-08T05:00:17+09:00.dir Sun Jun 8 05:00:17 2014
Current mirror: Mon Jun 9 05:00:11 2014
(逆)差分ごとのファイルサイズの確認
# rdiff-backup --list-increment-sizes backup_rdiff-backup
Time Size Cumulative size
- -
Mon Jun 9 05:00:11 2014 11.0 GB 11.0 GB (current mirror)
Sun Jun 8 05:00:17 2014 1.36 MB 11.0 GB
Sat Jun 7 05:00:17 2014 12.6 MB 11.0 GB
復元方法
2014/6/7 5:00:17にバックアップされた内容を復元したい場合
- バックアップディレクトリ:/backup_rdiff-backup
- 復元先ディレクトリ:/restore_dir
# rdiff-backup -r 2014-06-07T05:00:17+09:00 /backup_rdiff-backup /restore_dir
差分バックアップは完全バックアップほどディスク容量を必要としませんので、毎日のバックアップに最適です。完全バックアップでは10GBのバックアップを10日分行うには10GB×10=100GBの容量を必要としますが、差分バックアップでは全ファイルがごそっと入れ替わるような特別なことがどこかで無い限りそこまでの容量を必要としません。
また、完全バックアップでは実現が難しい長期にわたる日数のバックアップを手軽に残せる点でメリットがあります。欠点は、履歴のどこかが破損すると復元しにくくなる場合があることですが、このような事態を想定して、リスクヘッジとして完全バックアップ過去1~2日分用意しておけば安心でしょう。
差分バックアップがあまり手軽でなかったからこれまで完全バックアップでバックアップを行っていた方も、rdiff-backupで差分バックアップを始めてみてはいかがでしょうか。
参考
- rdiff-backup: Main
- ツールを使ってネットワーク管理(20):サーバのリモートバックアップをさせたい 〜大容量になったハードディスクにバックアップ〜 (2/3) - @IT
- 10分でできる簡単バックアップ環境 (rdiff-backup) - まちゅダイアリー(2008-11-17)
- rdiff-backup の使い方 | サイト運営の私的メモ
- rdiff-backup でリモートバックアップする - いますぐ実践! Linuxシステム管理 / Vol.154
- rdiff 差分バックアップ (CentOS) [概要編]|北海道のデータセンターで、安心のサーバー運用を|ビットスター