rsync、ssh、crontabで、WEBサーバが壊れたときに備え、毎日自動バックアップを別PC(=サーバ代用PC)に行い、代用PCでWEBサービスを短時間で再開させる方法(Fedora編)
ROOT権限でrsyncとsshとcrontabを用いて自動バックアップシステムを構築したときの備忘録です。
サーバマシン(バックアップ元)
ROOT権限ユーザー
バックアップフォルダ:/var/www/cgi-bin/fswiki(フォルダ。ファイルでも可能)
代用PC(バックアップ先)
一般ユーザ:user
バックアップ保存フォルダ:/var/www/cgi-bin/fswiki(フォルダ。サービス再開を早めるため、バックアップ元と同じ環境を作っている)
IPアドレス:172.16.161.19
手順1 代用PCの/etc/ssh/sshd_configファイルを下記のとおり修正します。
#PermitRootLogin yes の#を削除します。
手順2 サーバで秘密鍵と公開鍵のペアを作成します。
[root@~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 「Enter」キーを押します。
Enter passphrase (empty for no passphrase): 「Enter」キーを押します。
Enter same passphrase again: 「Enter」キーを押します。
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is: ・・・・・・・
手順3 公開鍵をサーバから直接代用PCにコピーします。
[root@~]# scp /root/.ssh/id_rsa.pub 172.16.161.19:/root/.ssh/ 「Enter」キーを押します。
172.16.161.19’s password: 「代用PCのrootパスワードを入力して「Return」キーを押します。」
id_rsa.pub 100% 401 0.4KB/s 00:00 (左記のような表示が出ます。)
※172.16.161.19は「pc@daiyou.jp」のようなホスト名でも可能です。
手順4 代用PCで公開鍵”id_rsa.pub”を “authorized_keys”に追加します。
[root@代用PC]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
手順5 サーバから代用PCにパスワードなしでログインできるか確認します。
[root@~]# ssh 172.16.161.19
Last login: Tue Sep 09 23:25:00 2008 from ・・・・・. 左記のような表示がでたら、ログイン完了です。
手順6 パスワードなしでログインできたらrsyncでバックアップが取れるか確認します。
[root@~]# rsync -av -e ssh /var/www/cgi-bin/fswiki/ 172.16.161.19:/var/www/cgi-bin/fswiki/
※fswikiの後に「/」を忘れずつけてください。
opening connection・・・・・ 左記のような表示が出たら成功です。
手順7 crontabに自動実行を登録します。
[root@~]# vi /etc/crontab 「Return」キーを押します。
「i」キーを押して編集を開始します。
(例)00 5 * * * root rsync -av -e ssh /var/www/cgi-bin/fswiki/ 172.16.161.19:/var/www/cgi-bin/fswiki/
上記は毎日午前5時にrsyncでバックアップする設定する場合の設定例です。