`

sersync 实时同步工具

阅读更多

   出处:http://code.google.com/p/sersync/

 

     当前版本的sersync依赖于rsync进行同步。如下图所示,在同步主服务器上开启sersync,将监控路径中的文件同步到目标服务器,因此需要在主服务器配置sersync,在同步目标服务器配置rsync。sersync 使用 Linux 2.6 内核的 inotify 监控 Linux 文件系统事件。



如图所示,在同步主服务器上配置sersync (可以不开启 rsync 服务,这样则可以从主服务器向目标服务器推送数据,但不可以从目标服务器向主服务器拉取数据),在同步目标服务器配置 rsync 并开启rsync守候进程,这样在主服务器产生的文件,就会被sersync实时同步到多个目标服务器。在centos系统下默认已经安装了rsync,只需进行配置,并开启rsync守候进程即可。

 

-----------------------------------------------------------------------------------------------------------------------------------------------

配置同步目标服务器 rsync

 

主服务器:   192.168.1.125

目标服务器:192.168.1.126  (可以多台目标服务器)

 


在多台目标服务器上配置如下,手动配置 rsyncd.conf 配置文件:

vi /etc/rsyncd.conf

uid = root
gid = root
max connections = 10
use chroot = no
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock

[tongbu]
path = /opt/tongbu
comment = hello world
ignore errors = yes
read only = no
hosts allow = 192.168.1.125
hosts deny = *

    上面配置文件,表明允许主服务器(ip为192.168.1.125 )访问,rsync同步模块名为[tongbu] ,将同步过来的文件放入目标服务器指定的目录 /opt/tongbu 。如果有多台从服务器,则每一台都需要进行类似的配置。


配置好之后,开启rsync守护进程:

rsync --daemon –-config=/etc/rsync.conf


在主服务器上安装配置sresync

在google code下载sersync的可执行文件版本,里面有配置文件与可执行文件,这里用sersync2.5进行说明,新版本配置形式类似。

tar -zxvf sersync2.5_64bit_binary_stable_final.tar.gz
cd GNU-Linux-x86
vi confxml.xml

修改如下部分:

<sersync>
        <localpath watch= "/opt/tongbu" >
           <remote ip= "192.168.1.126" name= "tongbu" />

           <!--<remote ip="0.0.0.0" name="tongbu"/>多个目标服务器则配置多个-->
        </localpath>

表示要将主服务器上本地的 /opt/tongbu 路径下的文件,同步到远程服务器   192.168.1.126 上的 tongbu 模块



在主服务器上开启sersync守护进程 ,使sersync在后台运行,开启实时同步。


./GNU-Linux-x86/sersync2 -r -d -o ../GNU-Linux-x86/confxml.xml

(加入rc.local自动启动,防止重启后忘记启动)

提示如下:

[root@localhost GNU-Linux-x86]# /tmp/GNU-Linux-x86/sersync2 -r -d -o /tmp/GNU-Linux-x86/confxml.xml
---------------------------------------------------------------------------------------------------
set the system param
execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches
execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events
parse the command param
daemon thread num : 10
parse xml config file
host ip : localhost     host port : 8008
config xml parse success
please set /etc/rsyncd.conf max connections=0 Manually
sersync working thread 12  = 1(primary thread) + 1(fail retry thread) + 10(daemon sub threads)
please according your cpu ,use -n param to adjust the cpu rate
run the sersync :
watch path is : /opt/tongbu
---------------------------------------------------------------------------------------------------

表明,sersync已经开启,可以在本地监控路径下建立文件,查看远程是否同步成功。

 

-----------------------------------------------------------------------------------------------------------------------------------------------


运行参数说明:


./sersync -r 在开启实时监控的之前对主服务器目录与远程目标机目录进行一次整体同步


如果需要将sersync运行前,已经存在的所有文件或目录全部同步到远程,要以-r参数运行sersync,将本地与远程整体同步一次。
如果设置了过滤器,即在xml文件中,filter为true,则暂时不能使用-r参数进行整体同步。-r参数将会无效

./sersync --help
查看启动参数帮助
 
./sersync -o XXXX.xml
指定配置文件

./sersync -n num
指定默认的线程池的线程总数
例如 ./sersync -n 5 则指定线程总数为5,如果不指定,默认启动线程池数量是10,如果cpu使用过高,可以通过这个参数调低,如果机器配置较高,可以用-n跳高线程总数。
 
./sersync -m pluginName
不进行同步,只运行插件
       例如./sersync -m command,则在监控到文件事件后,不对远程目标服务器进行同步,而是直接运行command插件。

 

-----------------------------------------------------------------------------------------------------------------------------------------------

 

常见错误:

ERROR: module is read only
rsync error: syntax or usage error (code 1) at main.c(747) [receiver=2.6.8]
rsync: connection unexpectedly closed (4 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]
解决: 提示打开了read only,将配置文件 read only = no

 

cat /var/log/rsyncd.log

2011/12/14 11:58:37 [22377] name lookup failed for XX.XX.XX.XX: Name or service not known
2011/12/14 11:58:37 [22377] connect from UNKNOWN (XX.XX.XX.XX)
2011/12/14 11:58:37 [22377] rsync to html/ from unknown (XX.XX.XX.XX)

解决:需要在服务端这台机上上的/etc/hosts里面添加客户端机的ip和机器名

 

[root@Dell-R710 ~]# rsync -artuz -R --delete ./ 192.168.1.233::gex

rsync: failed to connect to 61.145.118.206: Connection refused (111)

rsync error: error in socket IO (code 10) at clientserver.c(124) [sender=3.0.6]

解决:

一、查看防火墙

二、查看服务端是否开启守护进程

ps ax|grep rsync

rsync --daemon --config=/etc/rsyncd.conf

分享到:
评论

相关推荐

    sersync实时同步操作

    2. **sersync2.5.4_64bit_binary_stable_final.gz** - 一款基于rsync实现的实时数据同步工具。 #### 三、服务端与客户端配置 ##### 3.1 服务端配置 1. **创建备份目录** ```bash mkdir /backup/bookfm ``` 2. ...

    Linux+sersync实时同步文件.docx

    sersync 是一个实时文件同步工具,主要用于服务器同步、Web 镜像等功能。它基于 Boost 1.43.0、inotify API 和 rsync 命令开发。相比于其他同步解决方案,sersync 的优点是使用 C++ 编写,并对 Linux 系统文件系统...

    rsync+sersync实时同步.pdf

    rsync 和 sersync 是两种常用的实时同步工具,本文将详细介绍如何使用 rsync 和 sersync 实现实时同步。 一、部署 rsync 服务 1. 安装 rsync 服务并启动 rsync 是一个快速、可靠的文件同步工具。首先,我们需要...

    【linux实战】sersync实时同步软件实战应用指南

    Linux环境下sersync实时同步软件是一种基于Linux内核的高效文件同步工具,它广泛应用于文件备份、数据镜像和多服务器数据共享等领域。本指南将详细介绍sersync的项目简介、框架设计、安装配置方法以及如何应用这一...

    linux下Rsync+sersync实现文件数据实时同步

    `sersync`是一个基于`inotify`的文件同步工具,专为Linux设计,它能监听文件系统的变动并实时同步。与Rsync相比,sersync更专注于实时性和自动化,尤其适合监控大量小文件的变化。 1. **实时性**:sersync通过监听...

    Sersync数据同步配置

    Sersync 是一个基于 rsync 的数据同步工具,支持实时同步数据,具有高效、可靠、安全等特点。Sersync 可以应用于各种数据同步场景,例如文件服务器、数据库、云存储等。 Sersync 安装配置 Sersync 的安装配置包括...

    sersync 数据实时同步绿色版

    【sersync 数据实时同步绿色版】是一款高效的数据同步工具,专为实现本地目录与远程服务器之间的实时同步而设计。该软件基于开源的rsync工具,通过与rsync的配合,能够实现对指定目录的实时监控,一旦检测到数据变化...

    Step by Step CentOS 7系统下Rsync+Sersync实时数据同步配置

    #### Sersync同步工具介绍 Sersync是基于inotify机制实现的高效实时文件同步软件。它可以监控文件系统的变动,一旦有文件发生改变,即可通过网络快速同步到远程服务器。Sersync通常作为Rsync的前端工具使用,用于...

    sersync工具压缩包

    sersync相较于rsync、unison等其他同步工具,其优势在于实时同步能力、更灵活的过滤规则以及更丰富的错误处理机制。然而,选择哪款工具取决于具体需求,例如对性能、易用性、跨平台支持等因素的考虑。 总结来说,...

    Rsync+sersync实现数据实时同步备份

    Rsync是一种非常高效且强大的数据同步工具,它允许本地或远程的文件和目录同步。Rsync通过只同步源和目标之间发生变化的部分来节省带宽和时间,支持多种同步模式,包括全备份、差异备份和增量备份。此外,Rsync能够...

    sersync+rsync实时同步项目详细笔记文档实战案例

    Sersync是一个基于C语言的实时同步工具,可以实时监控文件系统的变化,并将变化推送到远程服务器。本项目中,Sersync服务器作为中心服务器,实时监控data0/www/{www,bbs,blog}目录下的文件变化,并将变化推送到Rsync...

    Linux同步sersync

    sersync是一款基于rsync算法的增量文件同步工具,它可以在服务器之间进行双向或单向的文件同步。与传统的rsync相比,sersync增加了监控和触发机制,可以实时监控文件系统的变动,并在发生变动时立即执行同步操作,...

    14:rsync_sersync实现数据实时同步.docx

    rsync 数据实时同步实现方案 rsync 是一个 Unix/Linux 系统下的文件同步和...rsync 是一个功能强大且灵活的文件同步工具,可以满足各种文件同步需求,支持多种同步模式和协议,能够快速、安全、压缩地复制和同步文件。

    sersync.tar.gz实时同步软甲

    rsync是一款开源的、高性能的文件同步工具,它以其高效的数据同步算法闻名,能够快速地比较并同步两个目录或文件系统之间的差异。rsync支持增量传输,这意味着它只传输自上次同步以来发生改变的部分,从而极大地减少...

    sersync同步多个目录1

    sersync 是一个基于 rsync 的增强型工具,能够提供更灵活的配置和管理功能,同时支持同步多个目录。 在配置过程中,首先需要在 rsync 服务端进行设置。在服务端(例如 192.168.233.202),确保已经安装了 rsync ...

    sersync实现数据实时同步1

    sersync是一款高效、稳定的数据实时同步工具,尤其适用于Linux环境。它能够实时监控文件系统的变化,并迅速将这些变化同步到其他目标位置,确保数据的一致性和完整性。 **1. 安装sersync** 在安装sersync时,首先...

    inotify+rsync、sersync 实时备份1

    本文主要讨论如何利用Linux下的inotify和rsync或sersync工具实现文件系统的实时备份,以克服定时备份的不足。 **1. inotify介绍** inotify是Linux内核从2.6.13版本开始引入的一个文件系统事件监控机制,它提供了一...

    rsync+inotif与rsync+sersync同步软件包.zip

    总结来说,`rsync`是基础的文件同步工具,`inotify`提供了文件变化的实时监控,而`sersync`是对`rsync+inotify`组合的优化,适用于大规模、高并发的同步场景。理解这些工具的工作原理和应用场景,对于提升IT系统的...

    sersync2.5.4_64bit

    【sersync2.5.4_64bit】是一个专为Linux系统设计的数据同步工具,尤其适用于64位架构的系统。它基于强大的Inotify技术构建,旨在提供高效、实时的数据备份和同步功能,类似于知名的Inotify-tools套件。在深入探讨...

    sersync2.5.4_数据同步.zip

    rsync是一款强大的文件同步工具,以其高效、快速的特性在IT行业中广泛应用。它基于增量同步原理,能够在网络间或者本地系统上实现对文件和目录的同步,而无需传输全部内容。rsync的核心优势在于其智能的比较算法,它...

Global site tag (gtag.js) - Google Analytics