rsync 配置<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
rsync 工具简介
rysnc 是一个数据镜像及备份工具,具有可使本地和远程两台主机的文件,目录之间,快速同步镜像,远程数据备份等功能。在同步过程中,rsync是根据自己独特的算法,只同步有变化的文件,甚至在一个文件里只同步有变化的部分,所以可以实现快速的同步数据的功能。
更新 rsync 版本到最新 :yum install rsync rpm -qa|grep -i rsync 检查版本
参数说明:
-v, --verbose 详细模式输出
-z, --compress 对备份的文件在传输时进行压缩处理
-r, --recursive 对子目录以递归模式处理
-t, --times 保持文件时间信息
-p, --perms 保持文件权限
-o, --owner 保持文件属主信息
-g, --group 保持文件属组信息
-e 参数可以指定远程 ssh
-u 选项可以排除被修改过的目的文件
使用 -d 参数 仅仅同步目录权(不同步文件)
使用 – -progress 参数 查看每个文件的传输进程
使 用 – -delete 参数 删除在目的文件夹中创建的文件
使用 – -exiting 参数 有时能只想同步目的地中存在的文件,而排除源文件中新建的文件
使用 -i 参数查看源和目的文件之间的改变情况
输出结果中在每个文件最前面会多显示 9 个字母,分别表示为
> 已经传输 ,f 表示这是一个文件 ,d 表示这是一个目录 ,s 表示尺寸被更改 t 时间标记有变化 ,o 用户被更改 ,g 用户组被更改
使用 –- max-size 参数 不要传输大文件
使用 -W 参数 不管有没有改变,再次把所有文件都传输一遍,
rsync 选项 -a 称为归档模式,相当于-rlptgoD参数,
也就是 执行-ave相当于执行执行-verlptgoD
第一步:先下载rsync稳定版本
如:wget
第二步:解压安装
# tar -xzpvf rsync-3.0.7.tar.gz
# cd rsync-3.0.7/
# ./configure --prefix=/usr/local/rsync
# make
# make install
为实现同步更新文件配置了下rsync
服务端相关配置
1. 在/etc/下创建三个文(备注:这三个安装后是没有的,需要手动去创建)rsyncd.conf(主配置文件) rsyncd.motd(欢迎词文件) rsyncd.secrets (用户与密码文件)2.配置文件vi rsyncd.confmotd file = /etc/rsyncd.motd #欢迎文件read only = nolist = yesuid = rootgid = roothosts allow = 192.168.64.128,192.168.64.129hosts deny =192.168.128.0/24max connections = 2log file = /var/log/rsyncd.logpid file = /var/run/rsyncd.pidlock file = /var/run/rsyncd.lock
#define dirctory for rsync[benson]comment = nagios's directory from 192.168.128.133path =/testsecrets file =/etc/rsyncd.secrets# 密码文件auth users = redhat #rsync用户(与linux里的用户无关)read only = no
3. 欢迎文件[root@localhost test]# vi /etc/rsyncd.motdWelcome to use the rsync services!
4. 密码文件[root@localhost test]#vi /etc/rsyncd.secretsredhat:benson #账户:密码
5.chmod 600 /etc/rsyncd.*6. 运行rsync ( 注意:如果服务器上装有防火墙记得要打开端口,默认端口是 873 )/usr/local/rsync/bin/rsync --daemon /etc/rsyncd.confrsync 的路径 rsync配置文件
7. 客户端相关配置a)安装rsync包 (如果是centos 6.0的版本是有rpm包直接安装的,避免了安装源代码包的繁琐,其他版本的可以先看看是否有rpm包)b)创建密码文件[root@localhost ~]#vi /etc/rsyncd.secrets benson #客户端只需密码无须用户c)chmod 600 /etc/rsyncd.secrets 如果没有这步会报,即如果没有给文件赋予600权限,则会提示如下信息password file must not be other-accessiblecontinuing without password filePassword: d)rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secrets /root/hello
( 这里的redhat是用户名,192.168.128.129是服务器的ip地址,::后面的benson是模块名称,/root/hello 是在客户端的存放路径)测试连接8.实现定时同步
8. 实现定时同步crond.rsync*/10 * * * * rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secrets /root/hello
crontab crond.rsynccrontab -e 编辑现在有crontabcrontab -l
##############################################################################
配置文件与传输命令示范
服务器端相关配置文件
(1)
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
(2) 服务器需填账户和密码
(3)
![](https://s1.51cto.com/attachment/201211/100112927.png)
(1) 客户端只需填密码即可
传输文件命令
(a.) 同步远程文件到本地
![](https://s1.51cto.com/attachment/201211/100251474.png)
(b.) 从本地同步文件到远程服务器
(c.) 在本地机器上对两个目录进行同步
##############################################################################
常见错误 :
用户密码错误
@ERROR: auth failed on module testrsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]
检查存储密码文件是否出错
文件权限错误
password file must not be other-accessiblecontinuing without password filePassword:@ERROR: auth failed on module ***rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]
检查存储密码文件的权限是否为 600 , -rw-------
rsync: failed to connect to X.X.X.X: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(107) [sender=2.6.8]
故障原因:对方没开机、防火墙阻挡、通过的网络上有防火墙阻挡,都有可能。
解决方法:关闭防火墙,或者把防火墙的 tcp udp 的 873 端口打开,允许 rsync 通过。
实施方案:
1 、防火墙的启动与停止
# service iptables start / stop
2 、允许 rsync 通过防火墙
为防重启将规则清除,我将规则直接加到规则配置文件里边了( /etc/sysconfig/iptables ),如下:
-A INPUT -p tcp -s X.X.X.X --dport 873 -j ACCEPT
注意,这条规则要加在 REJECT 规则前。
加好后,重启下 iptables ( # service iptables restart )。
命令输入错误
如图错误为少输入一个 “:” 号
![](https://s1.51cto.com/attachment/201211/100507385.png)
正确应该为两个“:”号
![](https://s1.51cto.com/attachment/201211/100553405.png)
###############################################################################
Linux 远程备份工具 Rsync 使用案例 可以参考
http://os.51cto.com/art/201009/225962.htm