您的位置 首页 工具

sersync 实时同步

sersync 实时同步

基于sersync海量文件实时同步:TP

A主机中需要同步的源文件

B主机是 装有rsync  服务端的  目标目录。(可以参考:rsync 安装

实时同步工具选择

sersync+RSYNC(√)、inotify+rsync

notify是一个通知接口,用来监控文件系统的各种变化,如果文件存取,删除,移动。可以非常方便地实现文件异动告警,增量备份,并针对目录或文件的变化及时作出响应。rsync+inotify可以实触发式实时同步增量备份

sersync是国人基于rsync+inotify-tools开发的工具,不仅保留了优点同时还强化了实时监控,文件过滤,简化配置等功能,帮助用户提高运行效率,节省时间和网络资源。sersync项目地址

主机A上安装

(1) 安装

sersync需要依赖inotify和rsync,所以需要安装对应软件

yum install rsync inotify -y

# 安装sersync

 

mkdir /server/tools -p
cd /server/tools/

下载

wget https://raw.githubusercontent.com/wsgzao/sersync/master/sersync2.5.4_64bit_binary_stable_final.tar.gz
tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz
mv GNU-Linux-x86/ /usr/local/sersync

 

2.配置sersync详解

cd /usr/local/sersync/
cp confxml.xml confxml.bak
vim confxml.xml

 

.....
    <sersync>
	<localpath watch="/data">
	    <remote ip="172.16.1.41" name="nfs"/>
	    <!--<remote ip="192.168.8.39" name="tongbu"/>-->
	    <!--<remote ip="192.168.8.40" name="tongbu"/>-->
	</localpath>
	<rsync>
	    <commonParams params="-avz"/>
	    <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.pas"/>
	    <userDefinedPort start="false" port="874"/><!-- port=874 -->

需要更改的地方:

 

 <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.pass"/>

 

说明;

 5     <fileSystem xfs="true"/>  <!-- 文件系统 -->
  6     <filter start="false">  <!-- 排除不想同步的文件-->
  7         <exclude expression="(.*)\.svn"></exclude>
  8         <exclude expression="(.*)\.gz"></exclude>
  9         <exclude expression="^info/*"></exclude>
 10         <exclude expression="^static/*"></exclude>
 11     </filter>

 12     <inotify> <!-- 监控的事件类型 -->
 13         <delete start="true"/>
 14         <createFolder start="true"/>
 15         <createFile start="true"/>
 16         <closeWrite start="true"/>
 17         <moveFrom start="true"/>
 18         <moveTo start="true"/>
 19         <attrib start="false"/>
 20         <modify start="false"/>
 21     </inotify>

 23     <sersync>
 24         <localpath watch="/data/www"> <!-- 监控的目录 -->
 25             <remote ip="172.16.1.41" name="data"/>  <!-- backup的IP以及模块 -->
 26             <!--<remote ip="192.168.8.39" name="tongbu"/>-->
 27             <!--<remote ip="192.168.8.40" name="tongbu"/>-->
 28         </localpath>

 29         <rsync> <!-- rsync的选项 -->
 30             <commonParams params="-az"/>
 31             <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/>
 32             <userDefinedPort start="false" port="874"/><!-- port=874 -->
 33             <timeout start="true" time="100"/><!-- timeout=100 -->
 34             <ssh start="false"/>
 35         </rsync>

            <!-- 每60分钟执行一次同步-->
  36         <failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--def
    ault every 60mins execute once-->

 

3-配置密码文件: 31使用sersync执行推送时候需要使用密码文件

echo 123456 > /etc/rsync.pas
chmod 600 /etc/rsync.pas

 

 

4-.修改BACKUP服务器的配置文件增加nfs模块 (主机B 上修改)

vi /etc/rsyncd.conf

添加


[nfs]
path = /data

创建目录

mkdir /data

chown  rsync.rsync /data

重启rsync服务生效

systemctl restart rsyncd

 

找个客户端测试nfs模块是否正常:

rsync -avz /etc/hosts rsync_backup@172.16.1.41::nfs

 

 

5 .启动sersync服务守护进程 (主机A )

启动Sersync, 如果需要同步多个目录, 那么需要配置多套环境

/usr/local/sersync/sersync2 -dro /usr/local/sersync/confxml.xml

 

# 查看启动参数

./sersync2 -h
参数-d:启用守护进程模式
参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
参数-n: 指定开启守护线程的数量,默认为10个
参数-o:指定配置文件,默认使用confxml.xml文件
参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块
参数-m:单独启用其他模块,使用 -m socket 开启socket模块
参数-m:单独启用其他模块,使用 -m http 开启http模块
不加-m参数,则默认执行同步程序

 

说明, sersync  可以实时同步文件内容的变化,

 

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章