カテゴリー別アーカイブ: rsysnc




rsyncをパスワードなしで実施して、コンテンツの同期やバックアップをする方法




投稿日:

rsync をデーモンモードで動作させることでrsyncサーバを立てて、パスワードなしでrsyncプロトコルを利用してコンテンツの同期ができるようになります。

【転送元サーバでの設定】
xinetdは転送元で利用します。インストールします。

# yum install xinetd



起動

# /etc/rc.d/init.d/xinetd start

必要なら自動起動設定もしておきます。



【転送先サーバでの設定】

rsyncd.confを作成します。

# 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 基本すべてで良いと思います。



デーモンモードで起動します。

# rsync --daemon --config=/etc/rsyncd.conf

このモードで起動しないといけないので注意が必要です。


【転送】

今回の場合は、転送元でコマンドを叩く場合です。

# rsync -av /home/test/* root@171.x.x.x::test/home/xxxx/*

※ testの前に「::」と2回続いているのがミソです。

間違っていないか確認したいなら、ドライランしてみましょう。

# rsync -avn /home/test/* root@171.x.x.x::test/home/xxxx/*



【番外編】

接続エラーの対応。

# 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]



接続エラーが発生しました。telnetしてみると、、、telnetも繋がりません。
というわけで、転送先にログインしてローカルホストにtelnetしてみるも繋がりません。rsyncサーバが起動していなかったんですね。

デーモンモードで起動して解決です。

# rsync --daemon --config=/etc/rsyncd.conf