rsync 文件同步

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

你可能感兴趣的:(rsync)