第27話で作った、 設定ファイルその他を自動的にバックアップするシカケ。 しかし実際に運用してみると、ちょっといまいちな部分がある。
例えば、週イチで、5世代バックアップを取るようにしていた場合で、 しかもその、バックアップを取る対象が、 めったに変更しないようなファイル群だった場合。 例えば5週間、なんにも変更がなかったとすると、 全く同じ.tgzが5つ並ぶことになる。これは無駄だ。
そこで、前回のバックアップと、現在の内容を比較し、 更新があった場合のみ、新しくバックアップを作るようにしてみた。
例によって、そういう動きをするスクリプトを作るのだが。(^_^;
tarにそういうオプションがあればよかったのだけれど、 ちょっとそういうのはないみたい。 近いのはあったのだが、ファイルの更新に対してはうまく動いても、 追加されたファイルをアーカイブに追加してくれないようだった。
結局スマートな方法は思いつかず、一旦アーカイブをテンポラリに展開して、 それとバックアップ元を比較して、相違があったらバックアップを実行する、 という処理にした。この比較にrsyncを使ってるあたりがなんとも不細工。 誰かいい方法あったら教えてください。
n世代を保持するバックアップは、その周期が短いと、 巻き戻せる期間も短くなってしまうという欠点がある。 普通は、保持する世代数を増やすとか、 爺さん・父さん・子供の3世代バックアップなどを行うのだが、 今回はこんな方法をとってみた。 しばらく運用してみて評価しよう。