rsnapshotのスナップショットをSambaから利用する方法。
Sambaのshadow_copyの機能については、ぐぐってみて下さい。…と言いたいところですが、今のところはぐぐっても大した情報は出てきませんので、概要を掴んで、あとはソースでも見てみるといいでしょう。
とにかくshadow_copyはシェアの定義のところにvfs objects = shadow_copyの行を入れて、あとは「@GMT-YYYY.MM.DD-hh.mm.ss」という名前のディレクトリの下に対応するファイル構造を置いておけばいい。ドキュメントでは、ここにボリュームをマウントすることになっていて、rsnapshotはそんな変な名前のディレクトリには放り込んでくれない。
ところがどっこい、Sambaはデフォルトでfollow symlinks = yesになっているんだから、別に元々のソフトをいじらなくても、シンボリックリンク貼って済ませればいいじゃん。
というわけで、shadow_copy_ln.pyを書いてみました。かなり適当な作りですが、手元では動いてます。このプログラムは、rsnapshot.confを見て勝手にリンクをつけたり、古いリンクを消したりしてくれます。rsnapshotを動かした後に実行するとよいでしょう。そしてrsnapshotのbackupのところを直接Sambaのshareに入れればよろしいでしょう。
実際にやってみたら、ディレクトリや一部のファイルのsnapshotは見えるんだけど、多くのファイルのsnapshotはプロパティから見ることはできなかった。なぜだろう…
ディレクトリのプロパティから辿っていけば、別にいいんだけど。このへんはなんか釈然としないけど、どうだろう。
…って、自分で使うことのないスクリプトを書いてても空しいな。