说明:本文档是基于debian 6.0.1 部署配置,rsyncserver在opensuse、redhat配置相同.

 
一、背景介绍
 
Rsync是一个远程同步数据工具,它由rsync.samba.org维护。Rsync server会打开一个tcp协议873的服务通道(port),等待对方的rsync连接。
 
Sersync是基于Linux2.6内核的inotify监控linux文件系统,通过内核自动补货时间,并将变动文件利用rsync同步到远端服务器。
 
sersync配置主要为rsync server 端和sersync端。
 
二、服务配置
 
 
环境假设:多台web 服务器,必须保证内容一致,选定一台服务器为源端,部署sersync,其他web机器为目的端,部署rsync server,源端数据更新,目的端的服务器数据也会更新。
 

 
 
2.1、rsync server配置
 
 rsync server配置文件包含/etc/rsyncd.conf(手动创建)和/etc/rsyncd.secrets(手动创建)
 
1、安装rsync包
 #apt-get -y install rsync
2、更改rsync 模式
  默认安装后rsync在debian下是不开启服务模式的,需要手动开启。
 # vi /etc/default/rsync
   RSYNC_ENABLE=true
 
 
 
3、配置rsyncd.conf
  此文件需要手动创建。

# 全局选项
 
address = 192.168.1.234         #绑定到要监听的网卡
uid = www                    #传输文件时守护进程应该具有的uid,此账户为linux系
#账户。上传文件后的文件属性则为uid。
gid = www                    # 同uid
 
use_choot = false              #如果指定为true,rsync在传输文件以前首先要chroot到#path参数所指定的目录下,这样是为了实现额外的防护,但是缺点是需要root权限且不能备份指向外不得符号链接所指向的目录文件。
 
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
 
#模块选项
[data2]                           #模块名称,client端如果为纯数字会容易出错
 
max connections = 10               #最大客户端连接数,0为没限制
path = /data/webdata               #需要同步或备份的目录
read only = no                    #该模块可被写入
hosts allow = *                     #允许链接的主机,*为任意主机链接
 
auth users = xiaoerlang              #认证用户名,非系统用户
 
secrets file = /etc/rsyncd.secrets       #认证口令文件,权限为400,root
 
 
3、rsyncd.secrets格式及配置
 #chmod 400 /etc/rsyncd.secrets
 /etc/rsyncd.secrets 为手动创建文件,其为auth user的秘密文件。权限为400
格式:user:password
 
 
4、启动并确认
 #/etc/init.d/rsync start
#root@test04:/data/webdata/qq# netstat -atnl
Active Internet connections (servers and established)
Proto   Recv-Q  Send-Q  Local Address        Foreign Address         State     
tcp         0      0  192.168.1.234:22        0.0.0.0:*               LISTEN    
tcp         0      0  192.168.1.234:873       0.0.0.0:*              LISTEN
 
 
2.2、sersync配置
 
1、apt-get -y  install  rsync
2、sersync已经编译好,下载直接就可使用
# tar xzvf sersync2.5_64bit_binary_stable_final.tar.gz
3、创建密码文件,内容对用rsync server的auth user的密码,权限400.
 
confxml.xml配置说明。此图为测试环境配置。
插件配置省略。详细参数配置参见官方文档。
 
 

 
2.3、sersync使用
 
#./sersync2 -h
  查询命令帮助
#./sersync2 –r
  服务启动前将源目录所有文件同步一次,如果置了过滤器,即在xml文件中,filter为true,则暂时不能使用-r参数进行整体同步。-r参数将会无效
#./sersync2 -d
  在后台以服务形式运行
#./sersync2 -o xxx.xml
  指定配置文件名(网上总结说如果监控多个目录可以使用多个配置文件监控)
#./sersync2 -d -r
  一次执行