linux 配置 Sersync
[[email?protected] sersync]# cp conf/confxml.xml conf/confxml.xml.bak.$(date +%F) ? ? [[email?protected] sersync]# ls ? ? bin ?conf ?logs ? ? [[email?protected] sersync]# ls conf/ ? ? confxml.xml ?confxml.xml.bak.2014-06-04 ? ? 初始化的配置文件内容如下: ? ? [[email?protected] 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 ? [email?protected]::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 进行重新同步。 ? 修改后的完整配置文件为: ? ? [[email?protected] 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 的实例配置文件: ? ? [[email?protected] 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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |