天天看点

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,如需转载请自行联系原作者