−自動バックアップ(rsync)−

いきさつ
実は2003年8月2日,ハードディスクがクラッシュしお亡くなりになりました。ハードディスクを丸ごとバックアップという方法でバックアップはとってあったのですが,それが随分昔のまま。復旧しようとハードディスクを付け替えて起動したのはいいのですが,バックアップ以降の変更内容が多くて,ちょっと使えませんでした。日常的なバックアップの大切さを思い知らされたできごとでした。
そこで,「自動的に効率よく,しかも定期的にバックアップを」ということで,rsyncを使ったバックアップを行うことにしました。なぜrsyncなのと言われると困るのですが,「簡単,速い,バックアップ先にあるファイルより新しければ更新,同じファイルがあればそのファイルはコピーしない,バックアップ元から削除されたファイルをバックアップ先からも削除など,初心者&怠け者の私にはもってこいの内容だったからです。
準備
早速導入のために/us/local/src(私の場合)ダウンロードします。こちらから入手できます。私が入手したのはrsync-2.5.6.tar.gzです。インストールの前に,RPMでインストールされているかどうか確認し,古いバージョンがインストールされている場合は削除します。
# rpm -qa | grep rsync  ←確認
# (略) 
# rpm -e rsync ←インストールされていたら削除
これで準備はOKです。
インストール
インストールは簡単です。ダウンロードしたファイルを解凍してインストールです。
# tar zxvf rsync-2.5.6.tar.gz ←まずは解凍
# cd rsync-2.5.6 ←新しくできたディレクトリーに移動
# ./configure
# make
# make install
これでインストールは完了です。テストをしてみましょう。
# rsync -auv --delete /root /backup  ←/rootディレクトリを/backupディレクトリにコピー
# cd /backpu
# ls
root ←rootディレクトリがコピーされた
テスト完了です。
書式とオプション
とりあえずあげておきます。まず書式は,
rsync [options] src dest
という形になります。意味は,srcをdestにコピー(srcとdestはディレクトリ)ということです。
オプションは,
-aファイルについての情報を保つ(所有者,グループ,属性)
-cファイルのサイズをチェックする
-oファイルの所有者を保持する
-u更新されたファイルのみコピーする
-v冗長モード
--statsレポートを出力する
--deleteバックアップ元で削除されたファイルは削除する
です。他にもあるようですがよく分かりません。
自動実行
それではバックアップを自動実行するように設定します。私の場合は以下のようにバックアップ計画を立てました。
●クラッシュに備えて,別のハードディスクを増設し,hdb1をマウントポイント/backupにマウントする。
●毎日午前3時に /etc /root /var を/backupに転送する。
●毎週日曜日午前3時15分に /home /bin /boot /lib /sbin /tmp /usr を/backupに転送する。
これを自動実行できるようにcrondにスケジュールを設定します。
# crontab -e

00 3 * * * /usr/bin/rsync -auv --delete /etc /root /var /backup >> /var/log/rsync.log 2>&1
15 3 * * 0/usr/bin/rsync -auv --delete /home /bin /boot /lib /sbin /tmp /usr /backup >> /var/log/rsync.log 2>&1
です。参考までに書式は以下のようになっています。
0〜59, *
0〜23, *
1〜31, *
1〜12, *
曜日 0〜7, * (0と7は日曜日)
数値の他に「*」も使えます。「*」は,月であれば1〜12月の毎月を表します。9時,12時に実行したい場合は「9,12」とカンマで区切ります。1〜5日だけ実行したいのであれば「1-5」とハイフンで繋ぎます。


このサイトに関するお問い合わせはlinux@kitahotaru.comまでお願いいたします。