バックアップ

PC UNIX でインターネットサーバを構築するということは、OSやアプリケーションの設定をすることに等しいです。 ハードディスククラッシュなどの不幸は突然やってくるものです。 そこで、設定ファイルなどのバックアップをします。 サーバーが何らかの原因で壊れたら、Linux を再インストールして、このバックアップからファイルを復元するだけで問題は解決されます。 何らかの変更をしたら必ずバックアップを作成するようにしましょう!!!



バックアップするファイルのリストを作成

vi で /usr/local/sbin/backup-list を作成します。 オーナーとグループは root に、パーミッションは 600 にします。 これは何をバックアップするかのリストです。 それぞれ構築したサーバーにより内容は変わりますが、私の場合は以下のリストとしました。

/usr/local/bin/perl
/usr/local/apache/conf
/usr/local/sbin
/usr/local/etc
/usr/local/src
/usr/sbin/in.proftpd
/var/qmail
/etc
/home


バックアップを自動起動にする

  1. vi で /usr/local/sbin/backup.sh スクリプトを作成します。 オーナーとグループは root に、パーミッションは 700 にします。
         #!/bin/sh
         /bin/tar zcvfT /tmp/backup.tar.gz /usr/local/sbin/backup-list
    
  2. crontab -e で編集し、以下の行を追加します。
         5 4 * * * /usr/local/sbin/backup.sh > /dev/null
    
    毎日4時5分にこのスクリプトを実行して、 /tmp/backup.tar.gz を作成します。

  3. 賢明な読者の方は既にお気付きかと思いますが、このバックアップファイルは同じハードディスク内に作成しているので、 ハードディスククラッシュには役に立ちません。
    サーバーのシステム設定を変更したタイミングで、クライアントマシンのほうに backup.tar.gz をコピーしておくことを強くお奨めします。 (この手順も自動化できるのですが、セキュリティを考慮して、あえて自動化していません。)



バックアップファイルを使ってシステム設定を復元するには

不幸にして、サーバーがクラッシュしてしまった場合は次の手順で復元できるはずです。 (まだこの不幸に遭遇していないので、実際にやったことはありません。)

  1. 故障原因を取り除く。

  2. Linux を再インストールする。

  3. backup.tar.gz ファイルをクライアントマシンから /tmp ディレクトリにコピーし次のコマンドを実行する。

         # cd /tmp
         # tar xvpfz backup.tar.gz
         # cp -rf usr/* /usr
         # cp -rf var/* /var
         # cp -rf home/* /home
         # cp -r etc/* /etc
    
    途中、overwrite するかどうか聞かれるのでご自分で判断してください。 全部コピーするとまずいファイルもあるかもしれません。 (現在のところ深く考えておりませんので・・・すみません。)

  4. 復元が完了したらサーバーを再立ち上げする。