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.conf
motd file = /etc/rsyncd.motd #
欢迎文件
read only = no
list = yes
uid = root
gid = root
hosts allow = 192.168.64.128,192.168.64.129
hosts deny =192.168.128.0/24
max connections = 2
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock

#define dirctory for rsync
[benson]
comment = nagios's directory from 192.168.128.133
path =/test
secrets file =/etc/rsyncd.secrets#
密码文件
auth users = redhat #rsync
用户(与linux里的用户无关)
read only = no

3.
欢迎文件
[root@localhost test]# vi /etc/rsyncd.motd
Welcome to use the rsync services!

4.
密码文件
[root@localhost test]#vi /etc/rsyncd.secrets
redhat:benson  #
账户:密码

5.chmod
600
/etc/rsyncd.*
6.
运行rsync (
注意:如果服务器上装有防火墙记得要打开端口,默认端口是
873
)
/usr/local/rsync/bin/rsync --daemon /etc/rsyncd.conf
rsync
的路径 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-accessible
continuing without password file
Password:
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.rsync
crontab -e
编辑现在有crontab
crontab -l

 

 

 

 

 

 

##############################################################################

                    
配置文件与传输命令示范

服务器端相关配置文件

(1)

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

 

(2)
服务器需填账户和密码

(3)

客户端相关配置文件:

(1)    
客户端只需填密码即可

 

传输文件命令

(a.)
同步远程文件到本地

 

(b.)
从本地同步文件到远程服务器

(c.)
在本地机器上对两个目录进行同步

 

 

##############################################################################

 

常见错误

用户密码错误

@ERROR: auth failed on module test
rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]

检查存储密码文件是否出错

文件权限错误

password file must not be other-accessible
continuing without password file
Password:
@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
)。

命令输入错误

如图错误为少输入一个
“:”

正确应该为两个“:”号

###############################################################################

Linux
远程备份工具
Rsync
使用案例
可以参考

http://os.51cto.com/art/201009/225962.htm