FreeBSD 3.5.1-RELEASE takamura@itoh.co.jp Aug.30,2000
バックアップ元計算機・バックアップ先計算機の両方にインストールしておきます。
tar zxvf ssh-1.2.27.tar.gz
cd ssh-1.2.27
./configure --without-idea --without-x --with-libwrap
make
make install
/etc/sshd_config
の中のPermitRootLogin は no にしておきます。
tar zxvf rsync-2.4.5.tar.gz
cd rsync-2.4.5
./configure
make
make install
【バックアップ先】
sshdで接続するユーザになって
ssh-keygen
をして鍵を作っておきます。(パスフレーズを入力)
さっきmakeしたsshdはlibwrap(tcp_wrapper)経由でipアドレスによる接続制限を有効
にしましたので
/etc/hosts.allow
に
sshd: 127.0.0.1 localhost 192.168.0.0/255.255.255.0 : allow
などと付け加えておきます。
その後
sshd
とやるだけでsshでの接続を待ち受けしててくれます。inetdから起動する方法も
ありますが、デーモンとして待っていてくれた方が安心です。
早速自分自身へ接続テスト。
ssh -l takamura copy-moto.itoh.co.jp
などと打って接続できればOKです。
起動時にsshdが走るように
/usr/local/etc/rc.d/sshd.sh
#! /bin/sh
if [ -x /usr/local/sbin/sshd ]; then
/usr/local/sbin/sshd
fi
echo ' SSHd Started ';
とでも書いて
chmod 700 sshd.sh
しておけばよいでしょう。
【バックアップ元】
sshdで接続するユーザになって
ssh-keygen
をして鍵を作ります。(パスフレーズを入力)
~/.ssh 以下に
identity.pub
ができあがっています。
これをバックアップ先の計算機の
~/.ssh 以下に
authorized_keys
と言う名前にしてscpします。もちろんフロッピなどで移動しても良いですが、
絶対暗号化されていないftpなどをしてはいけません。
コピー先(バックアップ先)で
chmod 600 authorized_keys
しておくことを忘れずに。
ターゲットにssh(slogin)してみます。パスワードが聞かれずにlogin成功できた
らOKです。
【いよいよバックアップ】
自動バックアップをとる前に手動でテストします。
ポリシーとしては以下の通り。
・【元】のものを【先】へコピー(当たり前)
・【元】のファイルの変更があったものだけの差分を【先】へコピー
・【元】で削除されたものは【先】でも削除してしまう。
・コピーするファイルはsshで暗号化転送を行う。
・cronで自動バックアップをさせる。
・muleで作られた~で終わるファイルはバックアップしない。
バックアップ元の計算機で
rsync -auvvz -e /usr/local/bin/ssh --exclude '*~' --delete /usr/local/apache \
USERNAME@copy-saki.itoh.co.jp:/usr/local
(これは/usr/local/apacheをバックアップする例です。)
とやればファイルリストを作り暗号化コピーが始まります。
つつがなく処理が終われば、次にcrontabに
5 0 * * * USERNAME /usr/local/bin/rsync -auvvz -e /usr/local/bin/ssh \
--exclude '*~' --delete /usr/local/apache \
USERNAME@copy-saki.itoh.co.jp:/usr/local > /dev/null 2>&1
とでもしておいてcronにkill -HUPして活を入れ直せばお終いです。
いとうのホームへ