sersync+rsync实现文件实时同步

一、介绍
rsync是一款开源、快速、多功能的可实现本地或远程的数据镜像同步备份的优秀工具。适用于多个平台,可实现全量备份与增量备份。
sersync是基于inotify开发的,类似于inotify-tools的工具。可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的文件或者目录。
二、rsync部署
1.环境说明

操作系统 IP地址 服务
CentOS7 172.16.50.101 rsync-server
CentOS7 172.16.50.101 sersync-client

2.安装软件包
yum install -y rsync
3.修改配置
vim /etc/rsyncd.conf

#指定启动进程的用户
uid = root
#指定启动进程的组
gid = root 
#指定端口,默认873
port=873
#安全相关
use chroot = no
#最大连接数,0表示不限制
max connections = 3
#是否监测密码文件的权限
strict modes = yes
#指定pid文件
pid file= /var/run/rsyncd.pid
#指定日志文件
log file= /var/log/rsyncd.log
#指定锁文件
lock file=/var/run/rsyncd.sock
#指定欢迎信息文件
motd file=/etc/rsyncd/rsyncd.motd
#权限为读写
read only=no
#允许访问网段
hosts allow=172.16.120.0/24
#拒绝所有
hosts deny=*
#定义共享模块
[www] 
#指定共享路径
path=/var/www/html
#忽略错误
ignore errors=yes
#允许别人看以
list=yes
#认证用户
auth users=backuper
#密码文件
secrets file= /etc/rsyncd.secrets

4.创建密码文件
echo "backuper:123456" > /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
5.启动服务
rsync --daemon --config=/etc/rsyncd.conf
三、sersync部署
1.安装依赖包
yum install -y rsync
2.获取安装包
wget https://raw.githubusercontent.com/orangle/sersync/master/release/sersync2.5.4_64bit_binary_stable_final.tar.gz
3.解压
tar fxz sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local/
ln -s /usr/local/GNU-Linux-x86/ /usr/local/sersync
4.修改配置
vim /usr/local/sersync/confxml.xml

<sersync>
#同步的路径,本地的目录
        <localpath watch="/var/www/html">
#rsync服务器的ip地址和rsync配置文件里面定义的模块
         <remote ip="172.16.120.101" name="www"/>
        </localpath>
        <rsync>
            <commonParams params="-artuz"/>
#rsync同步认证设置的内容,user指定用户名,password指定存放密码的文件路径
            <auth start="true" users="backuper" passwordfile="/etc/rsync.pw"/>
        </rsync>
</sersync>

5.创建密码文件
echo "123456" > /etc/rsync.pw
chmod 600 /etc/rsync.pw
6.启动服务
/usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml

猜你喜欢

转载自blog.51cto.com/7965676/2606826