rsync + ssh で,自動バックアップの話.

まず最初に,バックアップ先のマシンのroot用のssh秘密鍵,公開鍵を作成.

# ssh-keygen -t dsa -f /root/.ssh/id_dsa_rsync

パスフレーズなしの鍵を作る.


次に,作成した公開鍵に command オプションを追記して,rsync 以外実行できないようにしてしまう.
ssh-dss AAAA...と先頭は続いているので,その前にオプションを追加する.

command="rsync --server --sender -logDtprR --delete . /home",no-pty,no-port-forwarding ssh-dss AAAAasjlaDSAKLDDA....

ここで注意しないといけないのは,この公開鍵を使って認証が通ると無条件に上記コマンドが実行されてしまう点.はまるので注意.


最後に,公開鍵をバックアップ元のマシンの /root/.ssh/authorized_keys にコピー.

あとは,バックアップ先のマシンの crontabで,定期的に以下のようなスクリプトを実行.

#!/bin/sh
export RSYNC_RSH="ssh -i /root/.ssh/id_dsa_rsync"
rsync -Ra --delete 元マシン:/home  /mnt/backup0