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 BackupUser@192.168.122.20::test /mnt -password-file=/root/secrets
Hello !
Welcome to my host
This is a rsyncserver for Client
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 BackupUser@192.168.122.20::test /mnt -password-file=/root/secrets
This is a rsyncserver for Client
receiving file list ... done
file1
sent 132 bytes received 227 bytes 239.33bytes/sec
total size is 7 speedup is 0.02
转载于:https://blog.51cto.com/pankuo/1392494