rsync をデーモンモードで動作させることでrsyncサーバを立てて、パスワードなしでrsyncプロトコルを利用してコンテンツの同期ができるようになります。
【転送元サーバでの設定】
xinetdは転送元で利用します。インストールします。
[html]# yum install xinetd[/html]
起動
[html]# /etc/rc.d/init.d/xinetd start[/html]
必要なら自動起動設定もしておきます。
【転送先サーバでの設定】
rsyncd.confを作成します。
[html]
# vi /etc/rsyncd.conf
log file = /var/log/rsync.log # ログの出力先です。
use chroot = yes # chrootを可能いするかどうか。
max connections =10 # 最大接続数 利用頻度を考えて設定しておけば良い。
[test] # 名前を付けます。なんでも良いです。
path = /home/xxxx # path配下がrsyncサーバで制御可能になります。
uid = root # 利用可能ユーザ
gid = root # 利用可能グループ
read only = false # 読みのみにしておくと上書き等の事故が防げるので利用すべし。今回は利用せず。
hosts allow = 171.x.x.x # 許可ホストのIP
hosts deny=* # 拒否ホストのIP 基本すべてで良いと思います。
[/html]
デーモンモードで起動します。
[html]# rsync –daemon –config=/etc/rsyncd.conf
[/html]
このモードで起動しないといけないので注意が必要です。
【転送】
今回の場合は、転送元でコマンドを叩く場合です。
[html]# rsync -av /home/test/* root@171.x.x.x::test/home/xxxx/*
[/html]
※ testの前に「::」と2回続いているのがミソです。
間違っていないか確認したいなら、ドライランしてみましょう。
[html]# rsync -avn /home/test/* root@171.x.x.x::test/home/xxxx/*
[/html]
【番外編】
接続エラーの対応。
[html]
# rsync -avn /home/test/* root@171.x.x.x::test/home/xxxx/*
rsync: failed to connect to 171.x.x.x: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [sender=3.0.6]
[/html]
接続エラーが発生しました。telnetしてみると、、、telnetも繋がりません。
というわけで、転送先にログインしてローカルホストにtelnetしてみるも繋がりません。rsyncサーバが起動していなかったんですね。
デーモンモードで起動して解決です。
[html]# rsync –daemon –config=/etc/rsyncd.conf[/html]