sersync+rsync实时数据同步

1、相关背景介绍

前面有关文章配置实现了rsync增量同步以及配置为定时同步,但是在实际生产环境中需要实时的监控数据从而进行同步(不间断同步),可以采取inotify-tools+rsync或者rsync+sersync进行实时同步。

以上两种方法的区别是:

rsync+Inotify-tools

(1):Inotify-tools只能记录下被监听的目录发生了变化(包括增加、删除、修改),并没有把具体是哪个文件或者哪个目录发生了变化记录下来;

(2):rsync在同步的时候,并不知道具体是哪个文件或者哪个目录发生了变化,每次都是对整个目录进行同步,当数据量很大时,整个目录同步非常耗时(rsync要对整个目录遍历查找对比文件),因此,效率很低。

rsync+sersync

(1):sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字;

(2):rsync在同步的时候,只同步发生变化的这个文件或者这个目录(每次发生变化的数据相对整个同步目录数据来说是很小的,rsync在遍历查找比对文件时,速度很快),因此,效率很高。

小结:当同步的目录数据量不大时,建议使用rsync+Inotify-tools;当数据量很大(几百G甚至1T以上)、文件很多时,建议使用rsync+sersync。

2、rsync的配置

sersync是以rsync为前提的,所以需要先配置rsync,相关说明可以参考前面有关文章

3、sersync的安装及配置

3.1 创建规范目录

mkdir -p /service/tools

mkdir /application

3.2 上传

上传sersync_installdir_64bit到/service/tools

这里提供一个sersync_installdir_64bit的免安装版本,点击此处获取

3.3 解压

unzip sersync_installdir_64bit.zip

3.4 安装

免安装版本,移动解压后的文件到安装目录下即可

mv sersync_installdir_64bit/sersync /application/

3.5 配置

cd /application/sersync/    

chmod +x bin/sersync        #添加执行权限

ln -s /application/sersync/bin/sersync /usr/bin/        #创建快捷方式便于tab

修改配置文件

vim conf/confxml.xml

修改以下几处内容

15:<createFile start="true"/>

24:<localpath watch="/backup">

25:<remote ip="192.168.1.41" name="backup"/>

30:<commonParams params="-azP"/>

31:<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/>

36:<failLog path="/application/sersync/logs/rsync_fail_log.sh"

保存退出

3.6 启动

sersync -h    #查看帮助

mkdir -p /backup    新建在配置文件中指定的需要实时同步的目录,可以在此目录下创建一些文件进行测试

对照帮助添加参数启动sersync,如果配置文件有错误则无法启动

sersync -dro /application/sersync/conf/confxml.xml

启动成功后会创建监控目录的进程,备份服务器下相关目录也会随时进行同步

3.7 关于配置文件confxml.xml的说明:

4、sersync监控多个目录

修改配置文件实现sersync监控多个目录,并不能简单的通过在confxml.xml这一个配置文件中添加多个目录,正确的做法是写多个配置文件,进而启动多个sersync进程加载相应的配置文件来实现

 

博主原创文章,转载请务必注明出处

sersync+rsync实时数据同步的更多相关文章

  1. 【linux运维】rsync+inotify与sersync+rsync实时数据同步笔记

    Rsync(remote sync)远程同步工具,通过rsync可以实现对远程服务器数据的增量备份通过,但rsync自身也有缺陷,同步数据时,rsync采用核心算法对远程服务器的目标文件进行对比,只进 ...

  2. sersync+rsync进行数据同步

    一:环境 操作系统环境:redhat6.6 内核版本:2.6.32-358.el6.x86_64 rsync server:192.168.2.3(部署rsync server) rsync clie ...

  3. rsync + sersync 实现实时数据同步

    一.环境: 主机1:youzhuan-bak     centos 7.2 主机2:youzhuan-online   centos 7.2 二.部署过程: youzhuan-bak : [root@ ...

  4. inotify+rsync sersync+rsync实时同步服务

    中小型网站搭建-数据实时的复制-inotify/sersync inotify是一种强大的,细粒度的.异步的文件系统事件监控机制(软件),linux内核从2.6.13起,加入inotify支持,通过i ...

  5. Linux学习系列之Inotify+Rsync实现实时数据同步

    Inotify简介 inotify介绍 inotify是一种强大的.异步的文件系统监控机制,linux内核从2.6.13起,加入了inotify的支持,通过inotify可以监控文件系统中添加.删除. ...

  6. Linux系统实时数据同步inotify+rsync

    一.inotify简介 inotify是Linux内核的一个功能,它能监控文件系统的变化,比如删除.读.写和卸载等操作.它监控到这些事件的发生后会默认往标准输出打印事件信息.要使用inotify,Li ...

  7. 三十、sersync高级同步工具实时数据同步架构

    一.项目介绍 Sersync项目利用inotity与rsync技术实现对服务器数据实时同步的解决方案,其中inotity用于监控sersync所在服务器上的文件变化. Sersync项目的优点: 1. ...

  8. Inotify+rsync实现实时数据同步

    使用rsync可以实现数据同步,但是即使使用crontab定时任务最小执行间隔为1分钟,在数据实时性要求比较高场合需使用inotify+rsync实现实时同步 下载inotify wget https ...

  9. rsync+inotify实时数据同步

    没有实际的用过,先mark一下,后面实践. https://www.osyunwei.com/archives/7447.html 一.为什么要用Rsync+sersync架构? 1.sersync是 ...

随机推荐

  1. 命令__shell变量$#,$@,$0,$1,$2的含义解释

    linux中shell变量$#,$@,$0,$1,$2的含义解释:变量说明:$$ Shell本身的PID(ProcessID)$! Shell最后运行的后台Process的PID$? 最后运行的命令的 ...

  2. bzoj2693 莫比乌斯反演

    Description Hint T <= 10000N, M<=10000000   https://wenku.baidu.com/view/fbec9c63ba1aa8114431d ...

  3. awk 二

    节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y, ...

  4. springMVC 配置中易犯的小错误

    搭建springMVC环境时有可能遇到:'警告: No mapping found for HTTP request with URI [/WEB-INF/pages/helloWorld.jsp] ...

  5. 【转】Talend作业设计模式和最佳实践-Part I

    原文地址:https://mp.weixin.qq.com/s?__biz=MzA3OTg1Mzk4Nw==&mid=2453261363&idx=2&sn=e0f426022 ...

  6. MVC 视图与控制器传值的几种方法

    一.页面取值传给控制器 1.表单传值----利用Action   视图页:         <form action="方法名" method="post" ...

  7. AC日记——Vicious Keyboard codeforces 801a

    801A - Vicious Keyboard 思路: 水题: 来,上代码: #include <cstdio> #include <cstring> #include < ...

  8. HDU 6299.Balanced Sequence-贪心、前缀和排序 (2018 Multi-University Training Contest 1 1002)

    HDU6299.Balanced Sequence 这个题就是将括号处理一下,先把串里能匹配上的先计数去掉,然后统计左半边括号的前缀和以及右半边括号的前缀和,然后结构体排序,然后遍历一遍,贪心策略走一 ...

  9. HDU 1171 Big Event in HDU【01背包/求两堆数分别求和以后的差最小】

    Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...

  10. IO 输出 PrintStream和PrintWriter

    PrintStream和PrintWriter的autoflushing机制有点不同,前者在输出byte数组.调用println方法.输出换行符或者byte值10(即\n)时自动调用flush方法,后 ...