天天看點

redhat5.8-rsync

                           Rsync

rsync 是一個 Unix 系統下的檔案同步和傳輸工具

rsync 工作流程

      1.rsync伺服器會使用 xinetd 服務方式開啟 873 端口監聽,等待 rsync 用戶端連接配接。

      2.rsync用戶端發起連接配接

      3.rsync伺服器檢查 rsync 用戶端送出 rsync 伺服器内建的戶名和密碼是否正确,通過認證檢測,則開始檔案傳輸

      4.rsync傳輸的過程是按要求先比對檔案的大小、屬性、權限、MD5 值等資訊,如果兩端檔案資訊不一緻,則按要求同步檔案的差別塊。

             +++++++++++                                                       +++++++++++++

             +   rsync Client +                                                   +     rsync Server   +

             +       /mnt          +  <<=================    +           /test            +          

            +++++++++++                                                       +++++++++++++

              192.168.122.10/24                                           192.168.122.20/24

配置 rsync Server

# yum install rsync

# chkconfig rsync on

# vim /etc/rsyncd.conf

      uid=nobody                  #uid 和 gid 是系統内建使用者,必須存在于系統/etc/passwd檔案中。

      gid=nobody

      usechroot=no              #如果使用 chroot,在傳輸檔案之前,伺服器守護程式在将 chroot 到檔案系統中的目錄中,這樣做的好處是可能保護系統被安裝漏洞侵襲的可能。

      maxconnections=4       #用戶端同時連接配接數,為了限制多線程同步的

      pidfile=/var/run/rsyncd.pid

      lockfile=/var/run/rsync.lock

      logfile=/var/log/rsyncd.log

      motdfile=/etc/rsyncd.motd   #自定義伺服器資訊的,要自己寫 rsyncd.motd 檔案内容,Client通路Server時,會在Client端顯示檔案内容

      hostsallow=127.0.0.1 192.168.122.0/255.255.255.0

      authusers=BackupUser         #沒必要實伺服器上存在的真實的系統使用者,它們是 rsync服務端内建的使用者,如果你想用多個使用者,那就以“,”号隔開

      secretsfile=/etc/rsyncd.secrets      #密碼檔案:/etc/rsyncd.secrets ,需要建立這個檔案。

      [test]                            #設定備份目錄區域,配置項到下一個 [] 組合截止。

      path=/test                     #定義其在系統中的真實路徑

      comment=ServerTest    #顯示說明

      readonly=no                #通路方式

      list=yes                        #rsync 用戶端是否可以列出目錄結構

# vim /etc/rsyncd.motd

Hello !

Welcome to my host

This is a rsyncserver for Client

# vim /etc/rsyncd.secrets  

BackupUser:$1$3ZBCx0$oTKU2qYUd26cvk3b/aHv31

注:密碼可使用grub-md5-crypt生成

# chmod 600 /etc/rsyncd.*

# service xinetd restart

# netstat -tunpl | grep 873

# mkdir /test

# touch /test/file1

# touch /test/file2

# echo 123 > /test/file1

配置 rsyncClient

# vim /root/secrets

$1$3ZBCx0$oTKU2qYUd26cvk3b/aHv31

# chmod 600 /root/secrets

測試:

用戶端同步檔案

# rsync -Rav [email protected]::test  /mnt  -password-file=/root/secrets

receiving file list ... done

./

file1

file2

sent 154 bytes received 272 bytes 284.00bytes/sec

total size is 4 speedup is 0.01

在伺服器上修改file1,Client 再同步

# rsync  -Rav  [email protected]::test  /mnt   -password-file=/root/secrets

sent 132 bytes received 227 bytes 239.33bytes/sec

total size is 7 speedup is 0.02

      本文轉自潘闊 51CTO部落格,原文連結:http://blog.51cto.com/pankuo/1392494,如需轉載請自行聯系原作者