实现将文件从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.pwduid和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就是不对文件进行真正的修改主,只产生结果信息。
注意: 文件夹参数后面有/与没有/的区别。如果源目录有/表示当前目录下的所有文件 ,如果没有/表示当前文件夹也包括其中。