Sersync 的可选功能是通过 xml 配置文件来实现的,下面来为大家解释该文件!

在该文件中,使用<!--中间是注释内容-->的方式去注释信息,注意不是我们平时#

[root@SERSYNC sersync]# cat conf/confxml.xml -n

1<?xml version="1.0" encoding="ISO-8859-1"?>

2<head version="2.5">

3    <host hostip="localhost" port="8008"></host>  #hostip 与 port 是针对插件的保留字段,对于

同步功能没有任何作用,保留默认即可。

4    <debug start="false"/>  #该行为 Debug 开启开关。true 为开启 debug 模式,会在 sersync 正在

运行的控制台,打印 inotify 事件与 rsync 同步命令,生产环境一般不开启。

5    <fileSystem xfs="false"/>#对于 XFS 文件系统的用户,需要将这个选项开启,才能使 sersync 正常工

对于 sersync 监控的文件,会默认过滤系统的临时文件(以“.”开头,以“~”结尾),除了这些文件外,

在 6-11 行中,我们还可以自定义其它需要过滤的文件。

通过将 start 设置为 true 后可开启过滤功能,在 exclude 标签中可使用正则表达式。默认给出的两个例子

分别是过滤以“.gz”结尾的文件与过滤监控目录下的 info 路径(监控路径/info/*),可以根据需求自己添加。

但在开启的时候,自己一定要测试下,如果正则表达式出现错误,控制台会有相应提示。相比较使

用 Rsync 的 exclude 功能,被过滤的路径,不会加入监控,大大减少 Rsync 同步的通讯量

6    <filter start="false">

7<exclude expression="(.*)\.svn"></exclude>

8<exclude expression="(.*)\.gz"></exclude>

9<exclude expression="^info/*"></exclude>

10<exclude expression="^static/*"></exclude>

11   </filter>

第 12-23 行用来定义 inotify 监控参数,我们可以根据项目的特点来优化 Sersync。

通讯。因为拷贝文件到监控目录会产生 create 事件与 close_write 事件,所以如果关闭
create 事件,只监控

文件拷贝结束时的事件 close_write,同样可以实现文件完整同步。

注意:要使得
createFolder 保持为 true,如果将 createFolder 设为 false,则不会对产生的目录进行监控, 该目录下的子文件与子目录也不会被监控,所以除非特殊需要,请开启。默认情况下对创建文件(目录)事件 与删除文件(目录)事件都进行监控,如果项目中不需要删除远程目标服务器的文件(目录),则可以将 delete 参
数设置为 false,则不对删除事件进行监控。

12   <inotify>

13<delete start="true"/>

14<createFolder start="true"/>

15<createFile start="false"/>

16<closeWrite start="true"/>

17<moveFrom start="true"/>

18<moveTo start="true"/>

19<attrib start="false"/>

20<modify start="false"/>

21   </inotify>

23   <sersync>

第 24-28 行用来定义所要同步和监控的目录文件。

/opt/tongbu 目录为 sersync 主服务器本地待同步的目录,ip=“192.168.8.39”为从服务器的 ip 地址,如果

有多个服务器,依次列出来即可。name=“tongbu”,这里的 tongbu 为 rsyncd.conf 中的模块名字,即中

括号中的名称。

24<localpath watch="/opt/tongbu">

25   <remote ip="127.0.0.1" name="tongbu1"/>

26   <!--<remote ip="192.168.8.39" name="tongbu"/>-->

27   <!--<remote ip="192.168.8.40" name="tongbu"/>-->

28</localpath>

第 29-35 行用来定义 rsync 的命令参数

在 commonParams 项,我们可以自定义
rsync 的同步参数,默认是-artuz,auth start=“false”设置为 true

的时候,使用 rsync 的认证模式传送,需要配置 user 与 passwordfile(-password-file=/etc/rsync.pas)来

使用。userDefinedPort 当远程同步目标服务器的 rsync 端口不是默认端口的时候使用(-port=874)。timeout

设置 rsync 的 timeout 事件(-timeout=100)。<ssh start=”false”/>如果开启表示 ssh 使用 rsync -e ssh

的方式进行传输。

29<rsync>

30   <commonParams params="-artuz"/>

31   <auth start="false" users="root" passwordfile="/etc/rsync.pas"/>

32   <userDefinedPort start="false"
port="874"/><!-- port=874 -->

33   <timeout start="false"
time="100"/><!--
timeout=100 -->

34   <ssh start="false"/>

35</rsync>

第 36 行用来定义失败日志脚本配置

(timeToExecute 进行设置)执行该脚本再次重新传送,然后清空该脚本。可以通过 path 来设置日志路径

36<failLog path="/tmp/rsync_fail_log.sh"
timeToExecute="60"/><!--default every 60mins execut
e once-->

第 37-42 行用来定义 Crontab 定期整体同步功能

Crontab 可以对监控路径与远程目标主机每隔一段时间进行一次整体同步,可能由于一些原因两次失败重传都 失败了,这个时候如果开启了 crontab 功能,还可以进行一次保证各个服务器文件一致,如果文件量比较大,
crontab 的时间间隔要设的大一些,否则可能增加通讯开销,schedule 这个参数是设置 crontab 的时间间隔,
默认是 600 分钟。

如果开启了 filter 文件过滤功能,那么 crontab 整体同步也需要设置过滤,否则虽然实时同步的时候文件被过

滤了,但 crontab 整体同步的时候,如果不单独设置
crontabfilter,还会将需过滤的文件同步到远程从服务器,

crontab 的过滤正则与 filter 过滤的不同,也给出了两个实例分别对应与过滤文件与目录,总之如果同时开启

了 filter 与 crontab,则要开启 crontab 的 crontabfilter,并按示例设置使其与 filter 的过滤一一对应。

37<crontab start="false"
schedule="600"><!--600mins-->

38   <crontabfilter start="false">

39<exclude expression="*.php"></exclude>

40<exclude expression="info/*"></exclude>

41   </crontabfilter>

42</crontab>

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

44   </sersync>

从 46 行到行尾,都是插件的相关信息。当 plugin 标签设置为 true 时候,在同步文件或路径到远程服务器之

后,会调用插件。通过 name 参数指定需要执行的插件。目前支持的有 command、refreshCDN、socket、

http 四种插件。其中,http 插件目前由于兼容性原因已经去除,以后会重新加入。

46   <plugin
name="command">

47<param prefix="/bin/sh" suffix="" ignoreError="true"/><!--prefix /opt/tongbu/mmm.sh suffix-

->

48<filter start="false">

49   <include expression="(.*)\.php"/>

50   <include expression="(.*)\.sh"/>

51</filter>

52   </plugin>

第 54-58 行为插件 socket 的相关配置

socket 插件,开启该模块,则向指定 ip 与端口发送 inotify 所产生的文件路径信息

54   <plugin name="socket">

55<localpath watch="/opt/tongbu">

56   <deshost ip="192.168.138.20" port="8009"/>

57</localpath>

58   </plugin>

第 59-65 行为插件 refreshCDN 的相关配置

refreshCDN 用来在同步过程中将文件发送到目地服务器后,刷新 cdn 接口。如果不想使用,则将 start 属性                 48

设为 false 即可。该模块根据 chinaCDN 的协议,进行设计,当有文件产生的时候,就向 cdn 解耦发送需要刷 新的路径为止。其中 localpath watch=“/data0/htdocs/cms.xoyo.com/site/”是需要监控的目录。cdinfo 标签指定了 cdn 接口的域名,端口号,以及用户名与密码。sendurl 标签是需要刷新的 url 的前缀。regexurl 标
签中,regex 属性为 true 时候,使用 match 属性的正则语句匹配 inotify 返回的路径信息,并将正则匹配到的 部分作为 url 一部分

下面配置文件自带的意思为,如果产生文件事件为:

/data0/htdoc/cms.xoyo.com/site/jx3.xoyo.com/image/a/123.txt

经过上面的 match 正则匹配后,最后刷新的路径是:http://pic.xoyo.com/cms/a/123.txt

如果 regex 属性为 false,最后刷新的路径就是:http://pic.xoyo.com/cms/jx3.xoyo.com/images/a/123.txt

59   <plugin
name="refreshCDN">

60<localpath watch="/data0/htdocs/cms.xoyo.com/site/">

61   <cdninfo domainname="ccms.chinacache.com" port="80" username="xxxx" passwd="xxxx"

/>

62   <sendurl base="http://pic.xoyo.com/cms"/>

63   <regexurl regex="false"
match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/>

64</localpath>

65   </plugin>

66</head>

这里列举,如何单独去运行插件

插件也可以单独使用,即不对远程目标机进行同步,直接调用插件。

只调用 command 插件

1[root@SERSYNC ~]# sersync -d -m command

只调用 refreshCDS 插件

1[root@SERSYNC ~]# sersync -d -m refreshCDN

只调用 socket 插件

1[root@SERSYNC ~]# sersync -d -m socket

只调用 http 插件

1[root@SERSYNC ~]# sersync -d -m http

linux Sersync 参数说明的更多相关文章

  1. Linux 内核参数说明

    转载自: https://www.cnblogs.com/tolimit/p/5065761.html 因个人能力有限,不能保证所有描述都正确,还请大家集思广益,有错误的地方欢迎大家留言指正,同时也欢 ...

  2. linux Sersync 上配置客户端

    1.安装 Rsync 并配置相关权限 在 SERSYNC 上配置 RSYNC 客户端相关权限认证: [root@SERSYNC /]# yum install rsync -y [root@SERSY ...

  3. sersync参数说明

    -v, --verbose 详细模式输出-q, --quiet 精简输出模式-c, --checksum 打开校验开关,强制对文件传输进行校验-a, --archive 归档模式,表示以递归方式传输文 ...

  4. Linux 实例常用内核网络参数介绍与常见问题处理

    本文总结了常见的 Linux 内核参数及相关问题.修改内核参数前,您需要: 从实际需要出发,最好有相关数据的支撑,不建议随意调整内核参数. 了解参数的具体作用,且注意同类型或版本环境的内核参数可能有所 ...

  5. Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论

    我们使用Linux作为服务器操作系统时,为了达到高并发处理能力,充分利用机器性能,经常会进行一些内核参数的调整优化,但不合理的调整常常也会引起意想不到的其他问题,本文就一次Linux服务器丢包故障的处 ...

  6. [转载]Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论

    Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论 转载至:https://www.sdnlab.com/17530.html 我们使用Linux作为服务器操作系统时,为了达到高并发处理 ...

  7. Linux实例常用内核网络参数介绍与常见问题处理---重要

    文章转载自:https://help.aliyun.com/knowledge_detail/41334.html 本文主要介绍如下几点内容,您可以根据实际需要选择. 查看和修改Linux实例内核参数 ...

  8. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  9. rsync- sersync -inotify

    Rsync简介 Rsync是一款优秀的.快速的.多功能的本地或远程数据镜像同步备份工具.适用于unix/linux/windows等多种平台 从软件的名称Rsync(Remote Rynhroniza ...

随机推荐

  1. Java——容器(Set)

    [Set接口] <1>Set接口是Collection的子接口,Set接口没有提供额外的方法. <2>实现Set接口的容器类中的元素是没有顺序的,而且不可以重复. <3& ...

  2. [CSP-S模拟测试]:购物(柯朵莉树)

    题目描述 $visit_world$有一个商店,商店里卖$N$个商品,第$i$个的价格为$a[i]$我们称一个正整数$K$是美妙的,当且仅当我们可以在商店里选购若干个商品,使得价格之和落在区间$[K, ...

  3. 使用java语言实现一个队列(两种实现比较)(数据结构)

    一.什么是队列,换句话说,队列主要特征是什么? 四个字:先进先出 六个字:屁股进,脑袋出 脑补个场景:日常排队买饭,新来的排在后面,前面打完饭的走人,这就是队列: OK,思考一个问题,我为什么写了两种 ...

  4. 小白的git克隆流程clone

    首先你进去你要存放代码的位置,比如将代码存放到D盘,然后在D盘中右键,点击Git Bash Here,就是说本地仓库要在D盘建立. 然后出现git 命令行界面,然后输入命令:git clone + 远 ...

  5. SQL Server函数大全(三)----Union与Union All的区别

    如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并在一起显示出来. union和unio ...

  6. Linux安装nslookup命令

    做DNS的人都知道nslookup命令是做什么用的,windows系统自带的.但是linux系统是不自带这个命令的,需要人手动安装.如果您不记得这是哪个软件包提供这个命令的话,那您还真会有些麻烦了.下 ...

  7. Oracle Flashback Drop

    Ensure that the prerequisites described in Prerequisites of Flashback Drop are met. The following li ...

  8. PJSIP Socket 模型

    前些日子为解决项目中问题调试到PJSIP Socket收发数据部分 ,好记性不如烂笔头,记录下 PJSIP 使用的Socket 模型 ,以备后用. 不同平台下PJSIP采用不同的 Socket模型,W ...

  9. jmeter接口测试初体验

    今天初体验了一把jmeter,把操作的一些经历贴出来,督促自己进步.等逐步掌握后再次回首时,希望是有所思的,欣慰的! jmeter: Apache JMeter是Apache组织开发的基于Java的压 ...

  10. UI自动化之特殊处理三(日期控件\表格\富文本)

    日期控件\表格\富文本也是一些常遇到的需要特殊处理的定位 目录 1.日期控件 2.表格 3.富文本 1.日期控件 第一种:输入框属性为:readonly="readonly" # ...