rsyncで他のサーバーにデータをミラーリング
まずは、rsyncをインストールする
転送元でrootになりrsyncをインストールする。
yum -y install rsync
cd /root
mkdir .ssh(既にあると思うけどあればやらなくていい)
chmod 700 .ssh
cd .ssh
鍵認証方式
# ssh-keygen -t rsa (-t で鍵の種類を指定)
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): リターンキーを押す
Enter passphrase (empty for no passphrase): パスワードを空にするためこのままリターンキーを押す
Enter same passphrase again: パスワードを空にするためこのままリターンキーを押す
Your identification has been saved in /root/.ssh/id_rsa. 秘密の鍵が出来たよ
Your public key has been saved in /root/.ssh/id_rsa.pub. 公開の鍵が出来たよ
chmod 600 id_rsa
次にid_rsa.pub(公開鍵を)scpコマンド等でバックアップサーバーのrootへ転送する。
バックアップサーバーでrootになりsshdの設定をする
vi /etc/ssh/sshd_config
Port 20222 (ポート番号をかえたければ変更)
Protocol 2 (SSH version 2プロトコルを利用)
PubkeyAuthentication yes(公開鍵認証の有効化)
AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin yes (rootで直接ログインしてrsyncコマンドをするのでyes)
PasswordAuthentication no(パスワード認証の禁止)
ChallengeResponseAuthentication no
sshを再起動する。
/etc/rc.d/init.d/sshd restart
cd /root
mkdir .ssh
chmod 700 .ssh
cd .ssh
.sshにid_rsa.pubをもってきて
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
chmod 600 authorized_keys
転送元でrootになりsshでバックアップ元に接続できるか確認
確認が出来たら転送元に戻り
下記を実行してみる
rsync -avz --delete -e "ssh -p 20222" /home/admin/ root@box9.net:/home/backup/
(adminのデータをバックアップサーバーのbackupに保存する。)
(--delete コピー先と同じにする削除されたものは削除する。)
(-v ファイル名を表示する。)
(-z データを圧縮転送)
(-a -rlptgoD オプションをひとつにまとめた)
cronに登録する。
vi /etc/crontab
#rsyncbackup(port指定をしたかったら"ssh -p 20222"んなかんじにする。)
50 3 * * * root /usr/bin/rsync -avz --delete -e "ssh -p 20222" /home/admin/ root@box9.net:/home/backup/
cron再起動
/etc/rc.d/init.d/crond restart
おしまい