`

服务器同步(sersync2 完全安装配置说明(二)----可选功能与xml高级配置

 
阅读更多

sersync可选功能是通过xml配置文件来实现的,基本配置文件如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
    <host hostip="localhost" port="8008"></host>
    <debug start="false"/>
    <fileSystem xfs="false"/>
    <filter start="false">
	<exclude expression="(.*)\.svn"></exclude>
	<exclude expression="(.*)\.gz"></exclude>
	<exclude expression="^info/*"></exclude>
	<exclude expression="^static/*"></exclude>
    </filter>
    <inotify>
	<delete start="true"/>
	<createFolder start="true"/>
	<createFile start="false"/>
	<closeWrite start="true"/>
	<moveFrom start="true"/>
	<moveTo start="true"/>
	<attrib start="false"/>
	<modify start="false"/>
    </inotify>

    <sersync>
	<localpath watch="/usr/htmltest">
	    <remote ip="192.168.28.232" name="tongbu1"/>
	</localpath>
	<rsync>
	    <commonParams params="-artuz"/>
	    <auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
	    <userDefinedPort start="false" port="874"/><!-- port=874 -->
	    <timeout start="false" time="100"/><!-- timeout=100 -->
	    <ssh start="false"/>
	</rsync>
	<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
	<crontab start="false" schedule="600"><!--600mins-->
	    <crontabfilter start="false">
		<exclude expression="*.php"></exclude>
		<exclude expression="info/*"></exclude>
	    </crontabfilter>
	</crontab>
	<plugin start="false" name="command"/>
    </sersync>

    <plugin name="command">
	<param prefix="/bin/sh" suffix="" ignoreError="true"/>	<!--prefix /opt/tongbu/mmm.sh suffix-->
	<filter start="false">
	    <include expression="(.*)\.php"/>
	    <include expression="(.*)\.sh"/>
	</filter>
    </plugin>

    <plugin name="socket">
	<localpath watch="/opt/tongbu">
	    <deshost ip="192.168.138.20" port="8009"/>
	</localpath>
    </plugin>
    <plugin name="refreshCDN">
	<localpath watch="/data0/htdocs/cms.xoyo.com/site/">
	    <cdninfo domainname="ccms.chinacache.com" port="80" username="xxxx" passwd="xxxx"/>
	    <sendurl base="http://pic.xoyo.com/cms"/>
	    <regexurl regex="false" match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/>
	</localpath>
    </plugin>
</head>

 

下面做逐行的进行解释说明:

<host hostip="localhost" port="8008"></host>

 hostip与port是针对插件的保留字段,对于同步功能没有任何作用,保留默认即可。

filter文件过滤功能

对于sersync监控的文件,会默认过滤系统的临时文件(以“.”开头,以“~”结尾),除了这些文件外,可以自定义其他需要过滤的文件。

<filter start="false">
	<exclude expression="(.*)\.svn"></exclude>
	<exclude expression="(.*)\.gz"></exclude>
	<exclude expression="^info/*"></exclude>
	<exclude expression="^static/*"></exclude>
</filter>

 

start设置为 true,在exclude标签中,填写正则表达式,默认给出两个例子分别是过滤以".gz"结尾的文件与过滤监控目录下的info路径(监控路径/info/*),可以根据需要添加,但开启的时候,自己测试一下,正则表达式如果出现错误,控制台会有提示。相比较使用rsync 的exclude功能,被过滤的路径,不会加入监控,大大减少rsync的通讯量。

inotify监控参数设定
(优化)
对于inotify监控参数可以进行设置,根据您项目的特点优化srsync。

 <inotify>
	<delete start="true"/>
	<createFolder start="true"/>
	<createFile start="false"/>
	<closeWrite start="true"/>
	<moveFrom start="true"/>
	<moveTo start="true"/>
	<attrib start="false"/>
	<modify start="false"/>
    </inotify>

 

对于大多数应用,可以尝试把createFile(监控文件事件选项)设置为false来提高性能,减少 rsync通讯。因为拷贝文件到监控目录会产生create事件与close_write事件,所以如果关闭create事件,只监控文件拷贝结束时的事 件close_write,同样可以实现文件完整同步。
注意:强将createFolder保持为true,如果将createFolder设为false,则不会对产生的目录进行监控,该目录下的子文件与子目录也不会被监控。所以除非特殊需要,请开启。
默认情况下对创建文件(目录)事件与删除文件(目录)事件都进行监控,如果项目中不需要删除远程目标服务器的文件(目录),则可以将delete 参数设置为false,则不对删除事件进行监控。


Debug开启

<debug start="false"/>

 

设置为true,开启debug模式,会在sersync正在运行的控制台,打印inotify事件与rsync同步命令。

XFS文件系统

<fileSystem xfs="false"/>

 

对于xfs文件系统的用户,需要将这个选项开启,才能使sersync正常工作


文件监控与远程同步设置

<sersync>
	<localpath watch="/usr/htmltest">
	    <remote ip="192.168.28.232" name="tongbu1"/>
	</localpath>

  

详见sersync2 完全安装配置说明(一) ----基本功能使用

Rsync参数配置

<rsync>
       <commonParams params="-artuz"/>
          <auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
         <userDefinedPort start="false" port="874"/><!-- port=874 -->
          <timeout start="false" time="100"/><!-- timeout=100 -->
            <ssh start="false"/>
      </rsync>

      

commonParams可以用户自定义rsync参数,默认是-artuz
auth start="false" 设置为true的时候,使用rsync的认证模式传送,需要配置user与passwrodfile(--password-file=/etc/rsync.pas),来使用。userDefinedPort  当远程同步目标服务器的rsync端口不是默认端口的时候使用(--port=874)。timeout设置rsync的timeout时间(--timeout=100)。ssh 使用rsync -e ssh的方式进行传输。

失败日志脚步配置

<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60min 

 

 

对于失败的传输,会进行重新传送,再次失败就会写入rsync_fail_log,然后每隔一段时间(timeToExecute进行设置)执行该脚本再次重新传送,然后清空该脚本。可以通过path来设置日志路径。

Crontab定期整体同步功能

<crontab start="false" schedule="600"><!--600mins-->
        <crontabfilter start="false">
                <exclude expression="*.gz"></exclude>
            <exclude expression="info/*"></exclude>
           </crontabfilter>
        </crontab>

  

crontab可以对监控路径与远程目标主机每隔一段时间进行一次整体同步,可能由于一些原因两次失败重传都失败了,这个时候如果开启了crontab功能,还可以进一步保证各个服务器文件一致,如果文件量比较大,crontab的时间间隔要设的大一些,否则可能增加通讯开销。schedule这个参数是设置crontab的时间间隔,默认是600分钟
如果开启了filter文件过滤功能,那么crontab整体同步也需要设置过滤,否则虽然实时同步的时候文件被过滤了,但crontab整体同步的时候如果不单独设置crontabfilter,还会将需过滤的文件同步到远程,crontab的过滤正则与filter过滤的不同,也给出了两个实例分别对应与过滤文件与目录。总之如果同时开启了filter与crontab,则要开启crontab的crontabfilter,并按示例设置使其与filter的过滤一一对应。

插件设置

<plugin start="false" name="command"/>

  

当设置为true的时候,将文件同步到远程服务器后会调用name参数指定的插件。详见请看
插件设置。

1
1
分享到:
评论

相关推荐

    sersync主动同步服务安装与配置

    3.sersync安装与配置 - 1 - 3.1在主服务器上安装配置sresync - 2 - 3.2启动sersync - 2 - 3.3整体同步 - 3 - 3.4查看启动参数帮助 - 3 - 3.5指定配置文件 - 3 - 3.6指定默认的线程池的线程总数 - 3 - 3.7不进行同步...

    sersync2 完全安装配置说明(二) 可选功能与xml高级配置

    ### sersync2完全安装配置说明(二):可选功能与XML高级配置 #### XML配置文件概述 `sersync2`是一款强大的文件同步工具,它不仅能够实现基础的文件同步,还支持丰富的可选功能及高级配置。本文将详细介绍其XML...

    Sersync数据同步配置

    2. 安装 Sersync:安装 Sersync 支持包,包括 Sersync 的二进制文件和配置文件。 3. 配置 Sersync:配置 Sersync 的服务启动参数、日志路径、端口设置等。 Sersync 配置文件说明 Sersync 的配置文件位于 /etc/...

    rsync&sersync;安装详解

    在安装和配置完成后,我们可以使用 rsync 和 sersync 实现文件同步: ``` # /usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/etc/rsyncd.conf ``` ``` # /usr/local/sersync2/bin/sersync -r /usr...

    Linux同步sersync

    安装sersync后,需要编写配置文件来定义同步任务。配置文件通常包含源路径、目标路径、同步模式(单向/双向)、过滤规则等内容。配置完成后,启动sersync服务,即可开始监控和同步。 五、实际应用场景 1. 数据备份...

    GNU-Linux-x86-sersync2.rar

    安装完成后,需要编写`sersync`的配置文件,定义同步源和目标,以及相关的同步选项。配置文件通常位于`/etc/sersync.conf`,可以根据实际需求进行定制。 配置完成后,可以手动测试同步,确认无误后,可以通过`...

    Linux sersync的安装及使用

    Linux下的`sersync`工具是一款高效、实时的文件同步软件,尤其适用于服务器之间的数据备份与同步。它基于rsync算法,具有增量同步、错误恢复、并发传输等特性,能够极大地提高数据同步效率。本文将详细介绍`sersync`...

    sersync2完全安装配置说明(一) 基本功能使用

    如图所示,需要在同步主服务器上配置sersync,在同步目标服务器配置rsync,并在目标服务器开启rsync守候进程,这样在主服务器产生的文 件,就会被sersync实时同步到多个目标服务器。在centos系统下默认已经安装了...

    sersync2.5.4.tar.gz

    A主机 加载配置文件并启动 /opt/sersync/sersync2 -d -r -o /opt/sersync/confxml.xml A主机检查sersync是否运行 ps aux | grep 'sersync'|grep -v 'grep' A主机sersync成功运行后,B主机的/var/www/html目录下...

    sersync实时同步操作

    ### sersync实时同步操作详解 #### 一、概述 实时数据同步是在多个系统之间保持数据一致性的关键方法之一。本文档将详细介绍如何在两台Linux系统之间使用sersync进行实时同步操作。通过本教程,您将学习到完整的...

    samba+sersync2+rsync实现windows和linux文件同步

    **安装与配置 Sersync2** 1. **安装**: - 下载 Sersync2 的二进制文件并解压: ``` tar -xvf sersync2.5_32bit_binary_stable_final.tar.gz ``` - 将解压后的文件放置于合适位置,如 `/usr/local/sersync2`。...

    sersync2 完全安装配置说明(三) 插件基本配置和使用

    `sersync2`是一款强大的文件同步工具,其插件系统允许用户自定义文件变更后的处理方式,例如执行脚本、刷新CDN缓存等。在本文中,我们将深入探讨`sersync2`的插件基本配置和使用方法。 首先,我们需要了解`&lt;plugin&gt;...

    sersync2.5.4 64bit包下载

    Sersync 是金山的周洋开发的一款基于 inotify + rsync 的大量文件的多服务器自动同步程序。    Sersync 使用 Linux 2.6 内核的 inotify 监控 Linux 文件系统事件,被监听目录下如果有文件发生修改,sersync 将通过...

    sersync同步多个目录1

    总的来说,sersync 结合 rsync 提供了一种强大的多目录同步方案,它允许你在多台服务器间高效地保持数据一致性,同时提供了高级的配置选项来满足不同场景的需求。对于需要在分布式环境中保持文件同步的 IT 管理员来...

    sersync2配置文件

    sersync2配置文件,debug模式要关闭,端口最还修改下

    Step by Step CentOS 7 Rsyncs实时数据同步配置

    以上知识点详尽描述了在CentOS 7环境下,通过Rsync与Sersync实现文件实时同步的配置过程,包括前期准备工作、目标服务器和源服务器的具体配置步骤、服务的启动与检查以及如何提高同步效率和安全性。

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

    从环境准备到配置SELinux和firewalld,再到分别配置目标服务器与源服务器的Rsync和Sersync服务,以及启动服务与管理操作,每一步都详细阐述,确保读者能够真实有效地进行数据同步配置。 #### 实践检验与适用场景 ...

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

    1. 首先,在所有需要同步的服务器上安装并配置sersync。 2. 使用sersync实时监听和同步文件变化。 3. 设置定时任务(如Cron),定期运行Rsync进行全量同步和一致性检查。 例如,创建一个Cron任务: ```bash 0 0 * ...

Global site tag (gtag.js) - Google Analytics