起動ディスクのバックアップ

MacOSXの起動ディスクを定期的に自動でバックアップするソリューションを探していて、使えそうなのが3つありました。
下記とcronを組み合わせれば、上記ソリューションの構築が可能です。


デスクトップパソコンがサーバをしているような状況では、asrがお手軽でいいでしょう。
ついでに起動ディスクもOSごと起動可能な外付けHDDにバックアップしておけば、内蔵HDDがいつ壊れても泣かなくてすみます。
asrは実際にcronに設定して定期的にバックアップを行うことが出来ました。


何世代もバックアップしておきたい場合は、rdiff-backupでしょうか。
こちらもいつか試してみたいと思います。

asr

ディスクユーティリティーのコマンド版。
バックアップ先を全消去してから、全コピー。
シンプルだが、高頻度で実行すると運用時間に対してバックアップ時間が増えるので、バックアップ中にバックアップ元HDDに障害が発生した場合に中途半端なバックアップしか残らない、という悲惨な結果を向かえる確立が高くなってしまう。
http://pub.ne.jp/blue_angel/?entry_id=86824

ditto

Macリソースを考慮したコピーを実行できるコマンド。
コピーは可能なのだが、バックアップ元で消去やリネームされたファイルを、バックアップ先から消去する機能は無いので、定期的に実行しているとバックアップ先がどんどん増えていく。代わりに、asrのように全消去しないので、バックアップ中にバックアップ元HDDに障害が発生しても、バックアップ元は99%助かる。唯一助からないのは、バックアップ中だったファイルのみ。
http://www.vts-sekine.com/backnumbers/BackNumber_017.html#ditto

rdiff-backup

UNIXコマンドの rsync に世代管理機能を搭載したようなツール。
rsyncは、差分を検証してからコピーを行うため、コピー時間が非常に短く、バックアップ元HDD障害発生時に、コピー中である可能性を低く出来るため、障害の影響を受けにくい。
当然、MacOSX にも rsync は含まれているが、rsync にはいくつか不具合がある*1ため、採用できないこととなった。
ただし、このコマンドを使うためには、Fink を使ってバイナリパッケージを取り寄せないといけない。
http://seki.jpn.org/modules/pukiwiki/index.php?rdiff-backup

*1:Macリソースは全て更新されたと判断されて全てコピーされてしまう、修正日時がバックアップした日時になってしまう、バックアップ先をFinderで見ると内容が古い(Terminalで見るとちゃんと更新されている)、など