kyototycoon 他ホストにホットバックアップする
バックアップというのはこんなこともあろうかとのためにやるのでローカルより別のホストに転送しておいた方が良い。ということでrsyncd+バックアップ用のスクリプトをいじって他のホストにそのままホットバックアップしたファイルを転送する方法
バックアップファイルを置くホストにrsyncdを準備する
※debianの場合です /etc/rsyncd.confを以下のようにする
uid = root gid = root log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid [kt_backup] comment = rsync server path = /backkup/ ※ バックアップ先にしたいディレクトリ hosts allow = 192.168.0.0/16 read only = false
/etc/default/rsyncで以下のようにしておく
RSYNC_ENABLE=true
rsyndが起動するようにしておく
/etc/init.d/rsyncd start update-rc.d rsync defaults
KTが動いてるサーバのバックアップスクリプトをrsyncバージョンにする
/ktbin/dbbackupスクリプトをこんな感じにする
#!/bin/sh HOST=backup_host ※まあ適当に srcfile="$1" destfile="$1.$2" /bin/ln -s $srcfile $destfile /usr/bin/rsync -lrptgoDzL "$destfile" "${HOST}::kt_backup/" /bin/rm -f $destfile
rsyncdでリネームして保存する方法がいまいちわかんなかったからシンボリックリンク作ってその先の実態をコピーする(rsync -Lオプション)ってやったけど、鍵作ってscpの方がいい気がした。