改めて知っておきたいRed Hat Enterprise Linux 4 - サーバ編 3

バックアップサーバの設定

バックアップサーバの設定

まずは、バックアップサーバからWebサーバへパスフレーズ/パスワードなしでログインできるようにするため、バックアップサーバで公開鍵の生成を行います。


# ssh-keygen -t dsa

そして生成した公開鍵をWebサーバにコピーします。

# scp /root/.ssh/id_dsa.pub BL20pG3Svr:/tmp/

次にWebサーバにログインして、/tmp/id_dsa.pubファイルをauthorized_keysへコピーします。

# ssh BL20pG3Svr
Password: xxxxxxxx
BL20pG3Svr> cat /tmp/id_dsa.pub >> /root/.ssh/authorized_keys

これによりバックアップサーバからsshコマンドやscpコマンドを実行して、Webサーバへログインしてもパスフレーズ/パスワードが要求されません。

それではWebサーバからログアウトしましょう。

BL20pG3Svr> exit
# hostname
DL585BackupSvr //バックアップサーバに戻ったことを確認

次に再度バックアップサーバにログインし、バックアップ対象のWebサーバのホスト名とIPアドレスの対応付けを設定します。

# vi /etc/hosts
16.175.156.113 BL20pG3Svr

設定したら、sshコマンドとscpコマンドを使ってバックアップを行うシェルスクリプトを作成してください。

# vi /usr/local/bin/rsyncbackup.sh
rsync -ave ssh BL20pG3Svr:/work /data1/

シェルスクリプトを作成したら実行権限を付加します。

# chmod +x /usr/local/bin/rsyncbackup.sh

最後に、シェルスクリプトをcronへ登録します。

# crontab -e
0 0 * * 6 /usr/local/bin/rsyncbackup.sh

以上の手順によって、毎週土曜日午前0時0分にrsyncbackup.shが実行され、バックアップサーバの/data1以下にWebサーバが提供するWebコンテンツが格納されたディレクトリ/work以下がバックアップされます。

次回のバックアップ時には、バックアップ対象とバックアップサーバ側での差のみがrsyncでバックアップされるため、バックアップ時間の短縮ができます。

rsyncコマンドにおけるディレクトリ指定の注意

rsyncコマンドのバックアップ対象のディレクトリ指定の際に「/」があるかないかで意味が異なりますので注意してください。

例えば以下の場合は、リモートのバックアップ対象の/rootディレクトリがローカルホストの/data/以下に保存されますので、ローカルホストに/data/root/として保存されます。

rsync -ave ssh BL20pG3Svr.jpt.cqpcorp.net:/root /data/

また次の場合は、リモートのバックアップ対象の/rootディレクトリより下がローカルホストの/data以下に保存されます。

rsync -ave ssh BL20pG3Svr:/root/ /data/

このようにディレクトリ名の後に「/」があるかないかで意味が異なりますので、注意が必要です。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る