まずは、バックアップサーバから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でバックアップされるため、バックアップ時間の短縮ができます。
|