rsync で差分バックアップをとってみる
ディスク容量が充分であれば、rsyncで差分バックアップをとって、過去に遡れるようにするのがよい。
$FROMを$TOにsyncする場合は
$ rsync -a $FROM $TO
だった訳ですが、差分バックアップなので、差分を保存するディレクトリを指定する必要があります。
差分は$SUBにでも保存しておくとすると、
$ rsync -a --backup --backup-dir=$SUB $FROM $TO
になります。こうすると、$TOに加えて$SUBの中に差分ファイルができるのかな。多分。
に参考bashスクリプトがあります。
このサンプルでは$TOの直下に差分用のディレクトリを作っています。それでも問題はないのでしょう。
この方法だとリストアにはrsyncが必要になる?
別の方法:ハードリンクを活用する
rsyncには--link-dest=DIRってオプションもあります。これはDIRで指定されたディレクトリと
$FROMを比較して、同じファイルがあれば、DIRの下のファイルに対するハードリンクを$TOのに作るものらしい。
これをバックアップに流用することができて、
$ rsync -a --link-dest=$YESTERDAY $FROM $TODAY
としてあげれば、$FROMのファイルで$YESTERDAYから変更ないものは$YESTERDAYからのハードリンクが$TODAYに
張られます。--link-dest=DIRのDIRが相対パスの場合は$TODAYからの相対パスになるようですね。。。。。
この方法では変更のないファイルはハードリンクされているので、バックアップ先のディレクトリをそのまま
cp -rすれば復旧できるらしい。こちらの方が現実的な運用?
日付はどうやってコントロールする?
バックアップファイルはどれくらい必要?
昨日に戻りたい事はありますよね。一昨日は?3日前は?1週間前は?1月前は?
仕事関係であれば金曜日の分を残しておくのがよいかもしれませんね。一週間の活動の結果がそこに残っているわけなので、
1週間は日毎のファイルを残しておくと、先週の金曜日はあるので、先々週の金曜日のファイルを残しておくと効果的?
1月の間は金曜日のファイルを残しておいて、先々月の最後の金曜日だけ残す?1年前は忘れてしまうとすると、12*1
+4*1+7=23って事で、25個程度のバックアップファイルが存在するのかな。。。。。