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

插件相关xml


代码如下:

<sersync>
......
<plugin start="false" name="command"/>
</sersync>
<plugin name="command">
<param prefix="/bin/sh" suffix="" ignoreError="true"/>
<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>

如上面的xml所示,其中plugin标签设置为true时候,在同步文件或路径到远程之后后,调用插件。通过name参数指定需要执行的插件。目前支持的有command refreshCDN socket http四种插件。http插件目前由于兼容性原因去除,以后会重新加入。
以下模块(command refreshCDN http socket)可以单独使用(发生文件改变不同步只调用插件),只需在命令行下使用-m 参数即可。如果需要作为插件与同步程序一起使用,见同步程序说明的插件配置。
command插件
当文件同步完成后,会调用command插件,如同步文件是test.php,则test.php文件在改动之后,调用rsync同步到远程服务器后,调用command插件,执行


代码如下:

/bin/sh test.php suffix >/dev/null 2>&1

如果suffix 设置了,则会放在inotify事件test.php之后
如果ignoreError为true,则会添加>/dev/null 2>&1
当然还可以设置command的filter,当filter为ture,include可以只对正则匹配到的文件,调用command。
“refreshCDN”,就在同步过程中将文件发送到目 的服务器后刷新cdn接口。如果不想使用,则将start属性设为false即可。如果需要使用其他插件,则查看其他plugin标签,将插件名称改为 xml中其它插件的名称即可。该模块根据chinaCDN的协议,进行设计,当有文件产生的时候,就向cdn接口发送需要刷新的路径位置。刷新CDN模块需要配置的xml文件如下。


代码如下:

<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>

其中 localpath watch 是需要监控的目录。
cdnifo标签制定了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/jx3/a/123.txt;
如果regex属性为false,最后刷新的路径是
http://pic.xoyo.com/cms/jx3.xoyo.com/images/a/123.txt;
socket插件
socket插件,开启该模块,则向指定ip与端口发送inotify所产生的文件路径信息。
Http插件
http插件,可以向指定域名的主机post,inotify监控的事件。

单独运行插件
插件也可以单独使用,即不对远程目标机进行同步,直接调用插件:
只调用command插件
./sersync -d -m command只调用refreshCDN插件
./sersync -d -m refreshCDN只调用socket插件
./sersync -d -m socket只调用http插件
./sersync -d -m http

(0)

相关推荐

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

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

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

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

  • 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

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

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

  • Jenkins安装和插件管理配置入门教程

    目录 安装Jenkins 持续集成环境Jenkins插件管理 修改Jenkins插件下载地址 下载中文汉化插件 升级Jenkins 安装Jenkins 1)安装JDK Jenkins需要依赖JDK,所以先安装JDK1.8 yum -y install java-1.8.0-openjdk* # 安装到了: /usr/lib/jvm # 查看java版本信息 java -version 2)获取Jenkins安装包,进行安装, 下载页面:https://jenkins.io/zh/download

  • Linux Nginx下SSL证书安装方法及WordPress CDN配置

    一.Nginx安装SSL证书 需要两个配置文件 (温馨提示:安装证书前请先备份您需要修改的服务器配置文件) 1_root_bundle.crt: 2_domainname.com.key. 注:这三个证书文件都在文件夹for Nginx.zip中,例:1_root_bundle.crt是根证书链(公钥),2_ domainname.com.key为私钥. (其中:证书公钥.私钥文件一般以您的域名命名:证书后缀名crt和cer的性质是一样的). 二.Nginx证书代码修改 1.打开Nginx安装目

  • Spark三种属性配置方式详解

    随着Spark项目的逐渐成熟, 越来越多的可配置参数被添加到Spark中来.在Spark中提供了三个地方用于配置: 1.Spark properties:这个可以控制应用程序的绝大部分属性.并且可以通过 SparkConf对象或者Java 系统属性进行设置: 2.环境变量(Environment variables):这个可以分别对每台机器进行相应的设置,比如IP.这个可以在每台机器的$SPARK_HOME/ conf/spark-env.sh脚本中进行设置: 3.日志:所有的日志相关的属性可以

  • Linux下安装Python3和django并配置mysql作为django默认服务器方法

    我的操作系统为centos6.5 1  首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包. yum install mysql mysql-devel #为了测试方便,我们需要安装sqlite-devel包 yum install sqlite-devel 2  接下来需要安装Python了,因为Python3已经成为主流,所以接下来我们要安装Python3,到官网去下载Python3

  • centos7 无线网卡驱动的安装及无线网络的配置详解

    centos7 无线网卡驱动的安装及无线网络的配置 我的无线网卡的型号是:水星MERCURY 支持linux的驱动程序包是:RTL8188eus_USB_linux_v3.4.4_4749.20121105 1.首先查看网卡的信息lsusb 2.解压驱动 tar zxvf rtl8188eu.tar.gz 3.進入rtl8188eu/rtl8188eu-master 切換root權限,執行make和make iinstall 一般linux内核会自动加载新安装的模块,此处发现并没有加载,那是什么

  • windows下pycharm安装、创建文件、配置默认模板

    本文为大家分享了windows下pycharm安装.创建文件.配置默认模板的具体步骤,供大家参考,具体内容如下 步骤: 下包 -->安装-->创建文件-->定制模板 一.下包 官方地址 这里有企业版和社区版,老司机都知道社区版是免费的,我们就下载社区版的(穷). 二.安装 狭隘会后一路"下一步"即可: 电脑是32位安装32位,是64位安装64位.顺带勾上.py 点击Install等着 勾上运行这个选项,然后一路下一步. 最后点击右下角start using Pycha

  • centos7下安装java及环境变量配置技巧

    现在我们常见的一些关于Linux的系统很多,但是使用的更多的一般都是CentOS和Ubuntu,今天我就来记录一下关于centos下java的安装和环境变量的配置. 首先使用xshell连接到centos7,我使用的是centos7 *64位,所以一切的配置安装都按照的是centos7来进行的,当然其他版本的centos的操作也类似,如果有需要的,请自行百度哈. 本次安装环境: centos7 64位 jdk1.8 64位 xshell免费版 win10*64位 一.首先进来,需要检查自带的op

随机推荐