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

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


代码如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
<host hostip="localhost" port="8008"></host>
<filter start="false">
<exclude expression="(.*)\.gz"></exclude>
<exclude expression="^info/*"></exclude>
</filter>
<inotify>
<delete start="true"/>
<createFolder start="true"/>
<createFile start="true"/>
</inotify>
<debug start="false"/>
<sersync>
<localpath watch="/opt/tongbu">
<remote ip="192.168.0.104" name="tongbu1"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</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 60min execute once-->
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.gz"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
<plugin start="false" name="command"/>
</sersync>

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


代码如下:

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

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

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


代码如下:

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

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

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


代码如下:

<inotify>
<delete start="true"/>
<createFolder start="true"/>
<createFile start="true"/>
</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正常工作.

文件监控与远程同步设置


代码如下:

<localpath watch="/opt/tongbu">
<remote ip="192.168.0.104" name="tongbu1"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</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"/>

对于失败的传输,会进行重新传送,再次失败就会写入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参数指定的插件。详见请看插件设置。

(0)

相关推荐

  • Sersync+Rsync实现触发式文件同步实战过程

    背景 通常我们在服务器上使用rsync加上crontab来定时地完成一些同步.备份文件的任务.随着业务和应用需求的不断扩大.实时性要求越来越高.一般rsync是通过校验所有文件后,进行差量同步,如果文件量十分庞大,那么rsync进行校验的过程也是十分耗时的.而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式.其次,rsync不能实时的去监测.同步数据,虽然它可以通过crontab方式进行触 发同步,但是两次触发动作一定会有时间差,这样就导致了服务端和客户端数据可能出现不一致,无法在应用

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

    对于rsync配置,在google上可以找到很多资料,以下只是一些必要的配置和使用说明,仅供参考,请根据您的实际情况修改. 如图所示,需要在同步主服务器上配置sersync,在同步目标服务器配置rsync,并在目标服务器开启rsync守候进程,这样在主服务器产生的文 件,就会被sersync实时同步到多个目标服务器.在centos系统下默认已经安装了rsync,只需进行配置,并开启rsync守候进程即可. 配置同步目标服务器rsync 在多台目标服务器上配置如下: 复制代码 代码如下: vi /

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

    插件相关xml 复制代码 代码如下: <sersync> ...... <plugin start="false" name="command"/> </sersync> <plugin name="command"> <param prefix="/bin/sh" suffix="" ignoreError="true"/>

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

    XML文件说明 sersync可选功能是通过xml配置文件来实现的,基本配置文件如下: 复制代码 代码如下: <?xml version="1.0" encoding="ISO-8859-1"?> <head version="2.5"> <host hostip="localhost" port="8008"></host> <filter start

  • MySql 5.7.20安装及data和my.ini文件的配置

    1.首先上MySql的官网下载 https://dev.mysql.com/downloads/mysql/ http://www.jb51.net/softs/451120.html 以我所选版本为例(免安装版),选择MYSQL Community Server 然后在右边选择你所对应的版本 我的是64位 下载相应的zip版本 下载完解压到你想要存放的位置 我的是解压到D:\mysql-5.7.20-winx64 解压完成后是没有data文件和my.ini配置文件 这些都是要自己补充(下文有补

  • Java实现AOP功能的封装与配置的小框架实例代码

    本文通过是动态代理实现的AOP功能的封装与配置的小框架.加深对动态代理和AOP编程的理解 设计 根据配置文件的键xxx对应的值(类全名)创建相应类的对象. 当且仅当xxx对应的值为com.iot.proxy.aopframework.ProxyFactoryBean时,则生成相应的动态代理类对象.代理对象的目标类和通知实现类分别由xxx.target和xxx.advice配置 配置文件 config.propertiest位于aopframework包下 xxx代表要加载的类 xxx.advic

  • docker安装redis 5.0.7并挂载外部配置和数据问题

    Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 的 NoSQL 数据库,并提供多种语言的 API. 环境 CentOS Linux release 7.7.1908 (Core) 拉取redis 5.0.7 镜像 docker pull redis:5.0.7 创建挂载目录 mkdir -p /home/app/redis/conf mkdir -p /home/app/redis/data 下载redis.conf redis.

  • Windows Vista 安装全过程以及新功能截图

    在安装之前我们先来了解一下vista的配置要求: 处理器(CPU) 目前所有中端以上的Intel或AMD处理器都可以满足Windows Vista的基本需求,低端处理器也可以运行 Vista,但是可能无法达到最佳效果,而且显然无法在高端游戏以及视频编辑上胜任. AMD和Intel都已经推出了各自的双核心处理器,毋庸置疑的是,他们都将成为Windows Vista的出色选择在64位方面,目前的AMD.Intel 64位处理器是个不错的选择,而且根据我们的预测,当Windows Vista正式上市时

  • 详解Python3.6安装psutil模块和功能简介

    一.psutil模块 1. psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控,分析和限制系统资源及进程的管理.它实现了同等命令行工具提供的功能,如ps.top.lsof.netstat.ifconfig.who.df.kill.free.nice.ionice.iostat.iotop.uptime.pidof.tty.taskset.pmap等.目前支持32位和64位的Linux.Windows.OS X.Fre

  • Redis官方可视化工具RedisInsight的安装使用详细教程(功能强大)

    目录 RedisInsight简介 RedisMod简介 安装 使用 基本使用 CLI Profiler 可视化监控 安装Grafana 使用 总结 是能支持RedisJSON之类的新特性,这是第三方工具无法比拟的. RedisInsight简介 RedisInsight是Redis官方出品的可视化管理工具,可用于设计.开发.优化你的Redis应用.支持深色和浅色两种主题,界面非常炫酷!可支持String.Hash.Set.List.JSON等多种数据类型的管理,同时支持远程使用CLI功能,功能

  • PHP使用pear实现mail发送功能 windows环境下配置pear

    PHP发邮件可以用其自带mail()函数,但是这个函数很不好使,需要配置邮件服务器,并且不支持smtp验证,在很多场合无法正常的工作. 找了个代码发邮件,但总是出错,我在这里用PEAR的Mail类,使用smtp发邮件. 首先安装,我推陈用最新版的PHP5,因为我用PHP4出现了很多问题,大多是因为那些封装好的类版本太高,与PHP4不兼容的原故吧. 安装方法: 1.在php目录中双击go-pear.bat. 2.按照提示输入一些设置信息,主要是问直接访问外网,还是用代理,若无代理服务器则直接回车,

随机推荐