手机版
你好,游客 登录 注册
背景:
阅读新闻

Sersync使用指南

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

[日期:2012-02-06] 来源:Linux社区  作者:like7419 [字体: ]

插件相关xml<sersync>
......     
<pluginstart="false"name="command"/>
</sersync>

<pluginname="command">
<paramprefix="/bin/sh"suffix=""ignoreError="true"/> 
<filterstart="false">
<includeexpression="(.*)\.php"/>
<includeexpression="(.*)\.sh"/>
</filter>
</plugin>
<pluginname="socket">
<localpathwatch="/opt/tongbu">
<deshostip="192.168.138.20"port="8009"/>
</localpath>
</plugin>
<pluginname="refreshCDN">
<localpathwatch="/data0/htdocs/cms.88181.com/site/">
<cdninfodomainname="ccms.chinacache.com"port="80"username="xxxx"passwd="xxxx"/>
<sendurlbase="http://pic.88181.com/cms"/>
<regexurlregex="false"match="cms.88181.com/site([/a-zA-Z0-9]*).88181.com/images"/>
</localpath>
</plugin>

如 上面的xml所示,其中plugin标签设置为true时候,在同步文件或路径到远程之后后,调用插件。通过name参数指定需要执行的插件。目前支持的有command refreshCDN socket http四种插件。http插件目前由于兼容性原因去除,以后会重新加入。

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。

刷新CDN插件“refreshCDN”,就在同步过程中将文件发送到目 的服务器后刷新cdn接口。如果不想使用,则将start属性设为false即可。如果需要使用其他插件,则查看其他plugin标签,将插件名称改为 xml中其它插件的名称即可。

       以下模块(refreshCDN http socket)可以单独使用,只需在命令行下使用-m 参数即可。如果需要作为插件与同步程序一起使用,见同步程序说明的插件配置。

      该模块根据chinaCDN的协议,进行设计,当有文件产生的时候,就向cdn接口发送需要刷新的路径位置。刷新CDN模块需要配置的xml文件如下。

 <pluginname="refreshCDN">

<localpathwatch="/data0/htdocs/cms.88181.com/site/">
<cdninfodomainname="ccms.chinacache.com"port="80"username="xxxx"passwd="xxxx"/>
<sendurlbase="http://pic.88181.com/cms"/>
<regexurlregex="false"match="cms.88181.com/site([/a-zA-Z0-9]*).88181.com/images"/>
</localpath>
</plugin>

其中 localpath watch 是需要监控的目录。

cdnifo标签制定了cdn接口的域名,端口号,以及用户名与密码。

sendurl标签是需要刷新的url的前缀。

regexurl标签中的,regex属性为true时候,使用match属性的正则语句匹配inotify返回的路径信息,并将正则匹配到的部分作为url一部分,

举例:

如果产生文件事件为:/data0/htdoc/cms.88181.com/site/jx3.88181.com/image/a/123.txt

经过上面的match正则匹配后,最后刷新的路径是:

http://pic.88181.com/cms/jx3/a/123.txt;

如果regex属性为false,最后刷新的路径是

http://pic.88181.com/cms/jx3.88181.com/images/a/123.txt;

socket插件

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

Http插件

http插件,可以向指定域名的主机post,inotify监控的事件

其中mask是事件掩膜,8为修改保存,其它inotify事件掩码,见google。

单独运行插件

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

只调用command插件

./sersync -d -m command

只调用refreshCDN插件

./sersync -d -m refreshCDN

只调用socket插件

./sersync -d -m socket

只调用http插件

./sersync -d -m http

linux
【内容导航】
第1页:sersync项目简介 第2页:sersync2 完全安装配置说明(一) 基本功能使用
第3页:sersync2 完全安装配置说明(二) 可选功能与xml高级配置 第4页:sersync2 完全安装配置说明(三) 插件基本配置和使用
第5页:sersync编译:sersync需要二次开发的用户请参考
相关资讯       Sersync 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款