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. swipe display: none后再显示,加载内容后,滑动失效问题

    只需要添加这两个属性即可: observer:true,//修改swiper自己或子元素时,自动初始化swiper observeParents:true//修改swiper的父元素时,自动初始化sw ...

  2. c语言数组传递

    转自:http://blog.csdn.net/xgmiao/article/details/9570825 点击打开链接 数组作为函数实参: C语言中数组作为函数实参时,编译器总是将其解析为指向数组 ...

  3. 《c程序设计语言》-2.10 不用if-else 转换大小写

    #include <stdio.h> int lower(char a) { int b; b = (a >= 'A' && a <= 'Z') ? (a - ...

  4. 【飞天奔月出品】memcached四大注意事项(key长度,空格限制,最大item)

    1.   key值最大长度? memcached的key的最大长度是250个字符. 注意250是memcached服务器端内部的限制(可以修改) 如果您使用的客户端支持"key的前缀&quo ...

  5. python之短路计算-布尔类型

    Python中布尔类型 我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 Tr ...

  6. 设置小于12px的字体

    .small-font{   font-size:12px;             -webkit-transform-origin-x: 0;            -webkit-transfo ...

  7. 【原创】Linux环境下的图形系统和AMD R600显卡编程(8)——AMD显卡DRM驱动初始化过程

    前面几个blog对DRM驱动.显卡的显存管理机制.中断机制都进行了一些描述,现在阅读AMD drm驱动的初始化过程应该会轻松许多. 下面是一AMD的开发人员编写的文章(先暂时放在这里,后续有时间再添加 ...

  8. MFC中CTime获取日期时间的方法

    MFC中CTime类的功能非常强大,可以获取年.月.日.小时.分钟.秒.星期等等,最最重要的是可根据需要去格式化.下面是具体的使用方式: ① 定义一个CTime类对象 CTime time; ② 得到 ...

  9. 为何url地址不是直接发送到服务器,而是被编码后再发送

    首先,先说一下,关于为何必须将url地址,去编码后,再发送,是因为相关的协议规范:RFC 1738,定义了url地址中不能包含除了0-9的数字,大小写字母(a-zA-Z),短横线’-‘ 之外的字母.换 ...

  10. chanme的博客搬家了!

    一直以来都想自己租一台服务器,买个域名做一个自己的博客,但是由于时间和知识的关系,以前还不太知道怎么搭一个博客.终于我在上个礼拜成功的迈出了建站的第一步,然后陆陆续续的也将一些后续的步骤做好了.所以今 ...