实现将文件从10.0.80.194/rsync/www/的文件同步到/10.0.80.206/rsync/www/下
10.0.80.206为服务端,提供服务
10.0.80.194为客户端,将文件写入服务端
在两台机器上安装rysnc
Java代码
1.yum install rsync
yum install rsync
1.先配置服务端10.0.80.206,vi /etc/rsyncd.con
Java代码
1.uid = nobody#此处可修改成实际用户
2.gid = nobody#此处可修改成实际用户
3.
4.use chroot = yes
5.max connections = 4
6.pid file = /var/run/rsyncd.pid
7.lock file = /var/run/rsync.lock
8.log file = /var/log/rsyncd.log
9.
10.[downloads]
11.path = /rsync/www/
12.ignore errors
13.read only = false
14.list = false
15.hosts allow =10.0.80.206/255.255.255.240
16.hosts deny = 0.0.0.0/32
17.auth users = backup
18.secrets file = /etc/rsyncd.pwd
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
Java代码
1.backup:123456
backup:123456
3.启动服务端程序,服务端工作完成。
/usr/bin/rsync --daemon
4.在客户端服务器10.0.80.194上编写客户端脚本,vi /root/rsync.sh
Java代码
1.rsync -vrtL --progress /rsync/www/*
[email protected]::downloads --password-file=/root/rsync.pwd
rsync -vrtL --progress /rsync/www/*
[email protected]::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就是不对文件进行真正的修改主,只产生结果信息。
注意: 文件夹参数后面有/与没有/的区别。如果源目录有/表示当前目录下的所有文件 ,如果没有/表示当前文件夹也包括其中