返回顶部

linux 综合架构实时同步服务

实时同步服务原理/概念

需要部署好rsync守护进程服务,实现数据传输

需要部署好inotify服务,实现目录中数据变化监控

将rsync服务和inotify服务建立联系,将变化的数据进行实时备份传输

实现实时同步的原理

  • 监控目录数据变化 --- inotify

  • 将数据进行传输 --- rsync

  • 将监控和传输进行整合 --- sersync

实现实时同步部署方法

  • 1. 部署rsync守护进程

  • 2. 部署inotify软件

  • 3. 部署sersync软件

实时同步服务部署 inotify

部署rsync守护进程

  • 服务端配置操作

  • 客户端配置操作

部署inotify监控服务

yum install -y inotify-tools

熟悉命令的使用

  • /usr/bin/inotifywait --- 监控目录数据信息变化

  • /usr/bin/inotifywatch --- 对监控的变化信息进行统计

rpm -ql inotify-tools

inotifywait [参数] 监控的目录

  • -m|--monitor --- 实现一直监控目录的数据变化

  • -r|--recursive --- 进行递归监控

  • -q|--quiet --- 尽量减少信息的输出

  • --format <fmt> --- 指定输出信息的格式

  • --timefmt --- 指定输出的时间信息格式

  • -e|--event --- 指定监控的事件信息

  • -d 守护进程

监控的事件

企业 inotify 监控命令格式

inotifywait -mrq --timefmt "%F" --format "%T %w %f 事件信息:%e" /data -e C

部署sersync同步服务

第一个里程:需要下载,保留上传到linux服务器中

https://github.com/wsgzao/sersync

第二个里程:解压软件压缩包,将解压的数据进行保存

unzip sersync_installdir_64bit.zip
tree sersync_installdir_64bit

 移动到用户自定义安装第三方程序目录

mv sersync_installdir_64bit/sersync/  /usr/local/

第三个里程:编写配置文件 conf/confxml.xml

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="false"/>
16         <closeWrite start="true"/>
17         <moveFrom start="true"/>
18         <moveTo start="true"/>
19         <attrib start="false"/>
20         <modify start="false"/>
21     </inotify>
说明:定义inotify程序需要监控的事件

24         <localpath watch="/opt/tongbu">
25             <remote ip="127.0.0.1" name="tongbu1"/>
26             <!--<remote ip="192.168.8.39" name="tongbu"/>-->
27             <!--<remote ip="192.168.8.40" name="tongbu"/>-->
28         </localpath>
29         <rsync>
30             <commonParams params="-artuz"/>
31             <auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
32             <userDefinedPort start="false" port="874"/><!-- port=874 -->

                                                                                                                                  配置文件格式参考图

第四个里程:启动sersync服务程序

sersync 参数

  • 参数-d: 启用守护进程模式

  • 参数-r: 在监控前,将监控目录与远程主机用rsync命令推送一遍

  • 进行同步测试

  • 参数-o: 指定配置文件,默认使用confxml.xml文件

  • -o /usr/local/sersync/conf/confxml.xml

  • -o /usr/local/sersync/conf/confxml02.xml

添加命令路径

export PATH="$PATH:/usr/local/sersync/bin"

启动实时同步服务

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

停止实时同步服务

centos7 默认没有 killall 命令需要安装包,查找 kill 属于哪个大礼包

yum provides killall

 安装 psmics 包

yum install -y psmisc

停止 sersync 服务

killall sersync  

设置开机自动启动

/etc/rc.local <-- sersync -dro  /usr/local/sersync/conf/confxml.xml

  

 

posted @ 2019-11-28 23:58  Crazymagic  阅读(339)  评论(0编辑  收藏  举报