rsync和sersync 完成实现数据实时同步

一.安装环境和背景(备份到那个服务器哪个服务器就是服务端)

1.安装的系统信息背景
客户端:centos.6.5
服务器端为centos.6.2
客户端ip:192.168.1.5
服务器端ip:192.168.1.6
rsync端口:873

2.备份的文件夹(从客户端备份到服务器端):
客户端:/share/data
服务器端:/backup/data/

二.服务端安装rsync服务
1.安装rsync(客户端和服务器端都安装)
cd /usr/local/src
wget https://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz #下载软件
mkdir /usr/local/rsync
tar xf rsync-3.0.9.tar.gz
cd rsync-3.0.9
./configure --prefix=/usr/local/rsync
#--prefix=/usr/local/rsync 指定安装目录
make && make install #编译和安装

2.服务器端和客户端配置
1)服务器端配置:
a) 添加配置文件rsyncd.conf
vim /usr/local/rsync/rsyncd.conf
uid = root
gid = root

是否限定在该目录下,默认为true,当有软连接时,需要改为fasle,如果为true就限定为模块默认目录,通常都在内网使用rsync所以不配也可以

         use chroot = no        
         max connections = 2000
         timeout = 0
         pid file = /var/run/rsyncd.pid
         lock file = /var/run/rsync.lock
         log file = /var/log/rsynvd.log
         ignore errors             #忽略io错误
         read only = false       #指定客户端是否可以上传文件
         list = false                 #是否允许客户端可以查看可用模块列表
         auth users = ceshi
         secrets file = /usr/local/rsync/rsyncd.secrets
        ######/backup/data##########################
        [data]
        path =/backup/data

b).添加虚拟用户验证文件rsyncd.secrets
vim /usr/local/rsync/rsyncd.secrets
格式为: username:password
例如:ceshi:ceshi123
权限修改为 600
chmod 600 /usr/local/rsync/rsyncd.secrets

c).启动
服务器端需要启动rsync
/usr/local/rsync/bin/rsync --config=/usr/local/rsync/rsyncd.conf --daemon

2).客户端配置

1).添加用户验证文件password.rsync
只添加密码
vim /usr/local/rsync/password.rsync
password.rsync内容格式为:ceshi123
chmod 600 /usr/local/rsync/password.rsync

3).添加环境变量(客户端和服务端都操作)
ln -s /usr/local/rsync/bin/rsync /usr/sbin/

4).手动测试rsync安装是否成功(客户端执行):
a)建立测试文件:mkdir /share/data/ceshi.txt
b)执行下面的语句:
rsync -avH --port=873 --progress --delete /share/data/ceshi.txt [email protected]::data --password-file=/usr/local/rsync/password.rsync
c)查看服务端/backup/data目录下是否有ceshi.txt文件

三.安装配置sersync(客户端篇配置)
1.安装sersync
cd /usr/local/src
tar xf sersync-2.5.4-1374045102000.tar.gz -C /usr/local/
cd /usr/local/
#修改目录名称为sersync
mv GNU-Linux-x86 sersync
cd sersync
#创建目录: /bin /conf /log
mkdir bin conf log
#把二进制启动文件sersync2移到bin目录下并改名为sersync
#再把配置文件confxml.xml 移到conf目录下
mv sersync2 ./bin/sersync
mv confxml.xml ./conf/confxml.xml

2.serync配置
vim usr/local/sersync/conf/confxml.xml
修改13行
12
13 #把true修改为false,禁止同步删除
14
15
16
17
18
19
20
21

修改24-36
23
24 #本地同步的目录,
25 #备份机ip和rsync中的模块名
26 观察本地的目录,同步到远程服务器的目录
28

29
30
31
32
33
34
35

36

3.启动
a)单实例启动
/usr/local/sersync/bin/sersync -r -d -o /usr/local/sersync/conf/confxml.xml

参数解释:
-r: 在启动实时监控之前对当前服务器(1.5)目录和远程服务器目录(1.6)进行一次整体同步
-d :使sersync后台运行
-o : 指定配置文件
-n : 指定线程总数

b)添加开机启动项
vim /etc/rc.local
/usr/local/sersync/bin/sersync -r -d -o /usr/local/sersync/conf/confxml.xml
c)添加环境变量:
echo 'export PATH=$PATH:/usr/local/sersync/bin' >>/etc/profile
source /etc/profile

4.测试:
a)建立测试文件:mkdir /share/data/ceshi.txt
b)查看服务端/backup/data目录下是否有ceshi.txt文件

5.可以过滤文件或者目录:






系统默认提供了以*.gz和.svn以及info,static这些过滤的文件不会被监控,也就意味着不会被同步

注意:如果设置了过滤器,即在xml文件中,filter为true,则暂时不能使用-r参数进行整体同步。-r参数将会无效

你可能感兴趣的:(rsync和sersync 完成实现数据实时同步)