自動バックアップシステムの構築
今日は面倒くさくて今まで避けていたLinuxでの自動バックアップシステムを構築してみた。Windows に関してはもう1年ぐらい前から自動バックアップシステムを導入していたので大切なファイルは1日に1回、夜間に自動バックアップされる。しかし、Linux に関しては、もう1年以上もなにもしないままほうったらかしにし、さらには定期的なバックアップを取ることさえ怠ってきた。何年もサーバーを管理しているとさすがに消失したらかなり痛い大切なメールやデータなども溜まってくる。そろそろいい加減にバックアップしなくては…と思い立ったのが今日のことなのである。
バックアップといっても単純に1ファイル1ディレクトリごとにちまちま行っていたのでは、その場凌ぎにしかならない。今度バックアップするのはまた1年後になるかもしれないし、効率も良くない…。こんなことじゃダメだ!自動バックアップシステムを構築せねば!機械に使われてたまるかっ!ということで極めて簡易な自動バックアップシステムを作り上げた。自慢じゃないが、自慢できるほどのシステムじゃないし、他にももっと最適な方法が腐るほどあるだろう。
Linuxのバックアップには実に様々な方法がある。メジャーなものとしては、rsync や dump、mirror、afioを使ったものから、Unison のような双方向での同期が可能なもの、商用バックアップソフトを利用するなど実に様々だ。一概にどれがBESTとも言えないし、どれにも一長一短があるはずだ(手抜きw)。因みに自分がとった方法は極めて原始的だ。簡易なシェルスクリプトを書き、それをcron に1日1回実行させる。スクリプトの内容は、必要なファイルのみをtarで圧縮して固め、指定のパス(/home/user/backup)にコピーする(でも、tar よりは afio のほうが安全)。ただし、これだけではHDDがクラッシュした場合にバックアップファイルもろとも消え去るので、/home/user/backup に保存したtar ファイルを、外付けHDD(LAN HDD)に同期させる。同期させる方法はWindows 側でバックアップ用ソフトウェアを用意し、時間を指定して外付けHDDにコピーさせるよう設定する。この時、WindowsからLinuxのパーティション領域へネットワークを越えてアクセスする故、当然パスワードの入力を求められる。この際バックアップソフトがいつでもLinux領域にアクセスできるように「/home/user/backup」をネットワークドライヴとしてWindows側で認識させておく。勿論、Windowsを再起動した時にも自動的にLinux領域へログインできるようにも施しておきます。これでとりあえずは面倒なバックアップ作業をせずとも毎日、自動で行ってくれるというわけです。
バックアップ方針は個々の考えによって異なるもので、HDDごとミラーリングしたりしてリストアしたい人もいれば、特定のファイルやパーティションだけ部分的に保存しておきたい人もいます。なにをどのようにしてバックアップしたいのかをまず考えてから自分にとって最適なバックアップ方法は何かを模索していくのが最適なソリューションなのではないと思います。今回、私が構築した自動バックアップシステムも同様に簡易ではあるが、私にとっても必要最低限な要件を満たしており、これ以上高機能なシステムは当面は必要ありません。この文章を読んでいる皆さん。大容量化が進む昨今、バックアップもせずに毎日ぐうたらしていて大丈夫ですか?ちまちまバックアップなどせずにそろそろ自動化、始めてみませんか?私はこれからは安心して眠れます。アーメン♪