用rsync进行文件同步

实现将文件从10.0.80.194/rsync/www/的文件同步到/10.0.80.206/rsync/www/下

10.0.80.206为服务端,提供服务

10.0.80.194为客户端,将文件写入服务端

在两台机器上安装rysnc

yum install rsync 

1.先配置服务端10.0.80.206,vi /etc/rsyncd.con

uid = nobody#此处可修改成实际用户    gid = nobody#此处可修改成实际用户       use chroot = yes    max connections = 4   pid file = /var/run/rsyncd.pid    lock file = /var/run/rsync.lock    log file = /var/log/rsyncd.log       [downloads]    path = /rsync/www/    ignore errors    read only = false   list = false   hosts allow =10.0.80.206/255.255.255.240   hosts deny = 0.0.0.0/32   auth users = backup    secrets file = /etc/rsyncd.pwd  

uid和gid指明了运行身份,chroot表示连接后自动切换目录,read only=false是允许别的客户端向本机的服务器端上传。host allow和deny是限制连接地址。auth user是认证用户名,secrets file = /etc/rsyncd.pwd是表示认证用户名的时候到这里读取密码。

2.编写密码文件,vi /erc/rsyncd.pwd

backup:123456  

3.启动服务端程序,服务端工作完成。

/usr/bin/rsync --daemon

4.在客户端服务器10.0.80.194上编写客户端脚本,vi /root/rsync.sh

rsync -vrtL --progress  /rsync/www/*  backup@10.0.80.206::downloads --password-file=/root/rsync.pwd

-v参数表示显示输出结果,r表示保持属性,t表示保持时间,L表示软link视作普通文件。
5.创建客户端的密码文件:vi /root/rsync.pwd
123456
注意:客户端的密码脚本不带用户名。
设置密码文件权限700:(权限不对会登陆不上)
6.运行/root/rsync.sh实现文件同步,实际中常常使用定时任务来同步

文件的添加、修改、删除都会被同步
试验rsync的时候应该非常小心,因为很可能一不小心就将大量数据发送到它们本不该出现的地方。 verbose(-v)与dry-run(-n)在你试验的时候将会十分的有用,verbose能让你看到修改的结果,dry-run就是不对文件进行真正的修改主,只产生结果信息。

注意: 文件夹参数后面有/与没有/的区别。如果源目录有/表示当前目录下的所有文件 ,如果没有/表示当前文件夹也包括其中。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d731ea7679676c8412da0835e64f3032.html