[root@SERSYNC sersync]# cp conf/confxml.xml conf/confxml.xml.bak.$(date +%F)

[root@SERSYNC sersync]# ls

bin  conf  logs

[root@SERSYNC sersync]# ls conf/

confxml.xml  confxml.xml.bak.2014-06-04

初始化的配置文件内容如下:

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

4    <debug start="false"/>

5    <fileSystem xfs="false"/>

6    <filter start="false">

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

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

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

11    </filter>

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<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<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<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mi ns execute once-->

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 name="command">

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

m.sh suffix-->

48<filter start="false">

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

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

51</filter>

52    </plugin>

54    <plugin name="socket">

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

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

57</localpath>

58    </plugin>

59    <plugin name="refreshCDN">

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

61    <cdninfo domainname="ccms.chinacache.com"
port="80" username="xxxx"
pass wd="xxxx"/>

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

es"/>

64</localpath>

65    </plugin>

66</head>

为了满足我们的需求,我们需要修改如下几处设置:

1 修改 24-28 行的内容,原内容为:

<localpathwatch="/opt/tongbu">        #定义本地要同步的目录

<remoteip="127.0.0.1"
name="tongbu1"/>
 #

<!--<remoteip="192.168.8.39" name="tongbu"/>-->     #同步到哪个机器,,同步到

机器的哪个模块

<!--<remoteip="192.168.8.40" name="tongbu"/>-->

</localpath>

修改后内容为:

<localpathwatch="/data/web">

<remoteip="172.16.100.1" name="web"/>     #这里取掉了两旁的注释

<remoteip="172.16.100.2" name="web"/>     #这里取掉了两旁的注释

</localpath>

该文件中分隔符形式为:<!--###########################-->

2 修改 31-34 行,认证相关部分:

<commonParamsparams="-artuz"/>

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

<userDefinedPortstart="false" port="874"/><!-- port=874 -->

<timeoutstart="false" time="100"/><!-- timeout=100 -->

<sshstart="false"/>

修改后内容为:

<commonParamsparams="-aruz"/>

<userDefinedPortstart="false" port="874"/><!-- port=874 -->

<timeoutstart="true"
time="100"/><!-- timeout=100 -->

<sshstart="false"/>
提示:上面的几个配置就是在拼接

rsync -aruz --timeout=100 /data/web

rsync_bak@172.16.100.1::www/

--password-file=/etc/rsync.password

3)修改 36-37 行

<failLogpath="/tmp/rsync_fail_log.sh"timeToExecute="60"/><!--default every 60mins exe

cute once-->

修改后内容为

<failLog path="/usr/local/sersync/logs/rsync_fail_log.sh "timeToExecute="60"/><!--defau

lt every 60mins execute once-->

当同步失败后,日志记录到/usr/local/sersync/logs/rsync_fail_log.sh,并且每 60 分钟对失败的

log 进行重新同步。

修改后的完整配置文件为:

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

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

2<head version="2.5">

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

4    <debug
start="false"/>

5    <fileSystem xfs="false"/>

6    <filter
start="false">

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

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

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

11    </filter>

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<localpath watch="/data/web">

25    <remote ip="172.16.100.1" name="web"/>

26    <remote ip="172.16.100.2" name="web"/>

27</localpath>

28<rsync>

29    <commonParams params="-aruz"/>

30    <auth
start="true"
users="rsync_bak" passwordfile="/etc/rsync.password"/>

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

32    <timeout start="true" time="100"/><!-- timeout=100 -->

33    <ssh start="false"/>

34</rsync>

35<failLog path="/usr/local/logs/rsync_fail_log.sh" timeToExecute="60"/><!--default e very 60mins execute once-->

37    <crontabfilter start="false">

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

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

40    </crontabfilter>

41</crontab>

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

43    </sersync>

45    <plugin name="command">

46<param prefix="/bin/sh" suffix="" ignoreError="true"/><!--prefix /opt/tongbu/mm

m.sh suffix-->

47<filter start="false">

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

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

50</filter>

51    </plugin>

53    <plugin name="socket">

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

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

56</localpath>

57    </plugin>

58    <plugin name="refreshCDN">

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

60    <cdninfo domainname="ccms.chinacache.com"
port="80" username="xxxx"
pass wd="xxxx"/>

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

es"/>

63</localpath>

64    </plugin>

65</head>

以上的配置文件,我们仅仅配置了针对 SWEB1 和 SWEB2 上 web 这个模块,即/data/web

目录的自动同步。由于我们还有一个 download 模块,即/data/download 目录需要进行自动

同步。因此这就意味着,我们需要配置多实例了。

Sersync 的多实例和往常的 apache,nginx 一样,你只需要把配置文件拷贝一份出来,然后针

对不同的实例做不同的修改,然后在最后开启 sersync 服务的时候指定不同的配置文件做启动

即可!

配置针对 download 的实例配置文件:

[root@SERSYNC sersync]# cp /usr/local/sersync/conf/confxml.xml /usr/local/sersync/con

1

f/download_confxml.xml

修改方法如上,这里仅贴出和上个实例之间不一样的地方:

23    <sersync>

24<localpath watch="/data/download">

25    <remote ip="172.16.100.1" name="download"/>

26    <remote ip="172.16.100.2" name="download"/>

27</localpath>

28<rsync>

linux 配置 Sersync的更多相关文章

  1. (转)Linux系统sersync数据实时同步

    Linux系统sersync数据实时同步 原文:http://blog.csdn.net/mingongge/article/details/52985259 前面介绍了以守护进程的方式传输或同步数据 ...

  2. linux配置网卡IP地址命令详细介绍及一些常用网络配置命令

    linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-- 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置 ...

  3. linux配置java环境变量(详细)

    linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...

  4. linux配置hosts

    linux配置hosts linux下配置hosts和windows下其实就是一样的,找到文件在哪里就好 sudo vim /etc/hosts

  5. linux配置java环境变量

    linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...

  6. Linux 配置本地yum源

    Linux 配置无网络状态利用yum安装软件 在有网络的情况下安装软件只需一条yum install xxx命令,例如安装gcc只需一条指令:yum install gcc  那么在没有网络的情况下该 ...

  7. Linux配置支持高并发TCP连接(socket最大连接数)

    Linux配置支持高并发TCP连接(socket最大连接数) Linux配置支持高并发TCP连接(socket最大连接数)及优化内核参数 2011-08-09 15:20:58|  分类:LNMP&a ...

  8. Linux配置完iptables后,重启失效的解决方案

    Linux配置完iptables后,重启失效的解决方案 因为只有root用户才可访问1024以下的端口,非root用户登陆是不能启用80端口的.web service 往往启动1024以上的端口,并通 ...

  9. linux配置java环境变量(转)

    linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...

随机推荐

  1. asp.net 5 如何使用ioc 以及在如何获取httpcontext对象

    一切尽在大叔的博客中: http://www.cnblogs.com/TomXu/p/4496440.html

  2. 863D - Yet Another Array Queries Problem(思维)

    原题连接:http://codeforces.com/problemset/problem/863/D 题意:对a数列有两种操作: 1 l r ,[l, r] 区间的数字滚动,即a[i+1]=a[i] ...

  3. 最近在写一些树上的东西,先发一波LCA的吧!

    不会树剖的我只有去学tarjan和倍增了,个人觉得倍增比tarjan好打一点... tarjan学习的地方 http://www.cnblogs.com/JVxie/p/4854719.html 个人 ...

  4. 简记特定容器list和forward_list算法

    链表类型list和forward_list有独有的sort.merge.remove.reverse和unique,而通用版本的是不能用于这两个类型的,因为所要求的迭代器不同,通用版本需要迭代器支持更 ...

  5. Ubuntu 16.04下使用docker部署Redis主从复制

    (以下docker相关的命令,需要在root用户环境下或通过sudo提升权限来进行操作.) 1.拉取Redis镜像到本地 docker pull redis 2. 准备Redis主从配置文件 Redi ...

  6. python 存取字典dict

    数据处理的时候主要通过两个函数(1):np.save(“test.npy”,数据结构) ----存数据(2):data =np.load('test.npy") ----取数据 1.存列表 ...

  7. 创建maven web项目时,没有web.xml文件

    1.问题:创建maven项目时,选择的是创建web-app项目,但是结果配置之后,却没有web.xml文件. 2.解决办法: ------------------------------------- ...

  8. Java 中如何使用clone()方法克隆对象?

    java为什么要 对象克隆: 在程序开发时,有时可能会遇到以下情况:已经存在一个对象A,现在需要一个与A对象完全相同的B 对象,并对B 对象的属性值进行修改,但是A 对象原有的属性值不能改变.这时,如 ...

  9. MySQL数据库:RESET MASTER、RESET SLAVE、MASTER_INFO、RELAY_LOG_INFO

    MySQL数据库:RESET MASTER.RESET SLAVE.MASTER_INFO.RELAY_LOG_INFO RESET MASTER 删除所有index file中记录的所有binlog ...

  10. Understanding ECMAScript 6 阅读问题小记

    拖了一年说要看这本书,一直都没坚持下来,开个 bo 记录下觉得疑惑的问题,也算鞭策一下自己. 第一章 块级绑定 1. 第一章“块级绑定”下,说 const 变量如果绑定的是对象 Object,那么修改 ...