zoukankan      html  css  js  c++  java
  • sersync+rsync实时数据同步

    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进程加载相应的配置文件来实现

     

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

  • 相关阅读:
    Linux块设备IO子系统(二) _页高速缓存
    Linux块设备IO子系统(一) _驱动模型
    Linux usb子系统(二) _usb-skeleton.c精析
    Linux usb子系统(一) _写一个usb鼠标驱动
    Linux i2c子系统(四) _从i2c-s3c24xx.c看i2c控制器驱动的编写
    Linux i2c子系统(三) _解决probe无法执行
    Linux i2c子系统(二) _通过i2c-dev.c访问设备的方法
    Linux i2c子系统(一) _动手写一个i2c设备驱动
    从0移植uboot(六) _实现网络功能
    从0移植uboot(五) _实现串口输出
  • 原文地址:https://www.cnblogs.com/ssgeek/p/9220886.html
Copyright © 2011-2022 走看看