1. 在網站的分發機器上安裝sersync和rsync(rsync已經作爲了svn服務器對應的服務端了)
tar -zxf sersync2.5.4_64bit_binary_stable_final.tar.gz
mkdir /usr/local/sersync/{etc,bin} -p
cp GNU-Linux-x86/sersync2 /usr/local/sersync/bin/
cp GNU-Linux-x86/confxml.xml /usr/local/sersync/etc/
echo "1qaz2wsx" >> /usr/local/rsync/etc/zgxcw_im_server.pass
chown -R root /usr/local/rsync/etc/zgxcw_im_server.pass
chmod 600 /usr/local/rsync/etc/zgxcw_im_server.pass
2. 在所有客戶端服務器安裝rsync服務端
tar -zxf rsync-3.1.0.tar.gz && cd rsync-3.1.0
./configure --prefix=/usr/local/rsync && make && make install
cd /usr/local/rsync && mkdir etc
vim /usr/local/rsync/etc/rsyncd.conf
-----------------------------------------------------------------
uid=root
gid=root
max connections=36000
use chroot=no
log file=/usr/local/rsync/rsyncd.log
pid file=/usr/local/rsync/rsyncd.pid
lock file=/usr/local/rsync/rsyncd.lock
[zgxcw_im_server]
path=/data/web/zgxcw_im_server
ignore errors = yes
read only = no
hosts allow = 192.168.30.24
hosts deny = *
auth users = zgxcw
secrets file = /usr/local/rsync/etc/zgxcw_im_server.pass
-----------------------------------------------------------------
echo "1qaz2wsx" >> /usr/local/rsync/etc/zgxcw_im_server.pass
chown -R root /usr/local/rsync/etc/zgxcw_im_server.pass
chmod 600 /usr/local/rsync/etc/zgxcw_im_server.pass
mkdir /data/web/zgxcw_im_server -p
/usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/etc/rsyncd.conf
3. 配置sersync服務
cp /usr/local/sersync/etc/confxml.xml /usr/local/sersync/etc/zgxcw_im_server.xml
vim /usr/local/sersync/etc/zgxcw_im_server.xml
#修改如下紅色部分,其餘保持默認即可
-------------------------------------------------------------
<sersync>
#監視的本地目錄
<localpath
watch="/data/web/zgxcw_im_server">
#客戶端地址和項目名稱
<remote
ip="192.168.30.27" name="zgxcw_im_server"/>
<remote ip="192.168.30.28"
name="zgxcw_im_server"/>
</localpath>
<rsync>
<commonParams
params="-artuz"/>
#開啓認證和指定密碼文件位置
<auth
start="true" users="zgxcw" passwordfile="/usr/local/rsync/etc/zgxcw_im_server.pass"/>
<userDefinedPort
start="false" port="874"/><!-- port=874 -->
<timeout
start="false" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
#指定日誌的位置和名稱
<failLog
path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
<crontab start="false"
schedule="600"><!--600mins-->
<crontabfilter
start="false">
<exclude
expression="*.php"></exclude>
<exclude
expression="info/*"></exclude>
</crontabfilter>
</crontab>
<plugin start="false"
name="command"/>
</sersync>
-------------------------------------------------------------
測試rsync是否能正常工作:
/usr/local/rsync/bin/rsync -avzP --password-file=/usr/local/rsync/etc/zgxcw_im_server.pass /data/web/zgxcw_im_server
[email protected]::zgxcw_im_server
啓動sersync服務:
/usr/local/sersync/bin/sersync2 -r -d -o /usr/local/sersync/zgxcw_im_server.xml