sersync2 完全安裝配置說(shuō)明(二) 可選功能與xml高級(jí)配置
更新時(shí)間:2011年11月29日 10:53:41 作者:
sersync2 完全安裝配置說(shuō)明(二) 可選功能與xml高級(jí)配置,需要的朋友可以參考下。
XML文件說(shuō)明
sersync可選功能是通過(guò)xml配置文件來(lái)實(shí)現(xiàn)的,基本配置文件如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
<host hostip="localhost" port="8008"></host>
<filter start="false">
<exclude expression="(.*)\.gz"></exclude>
<exclude expression="^info/*"></exclude>
</filter>
<inotify>
<delete start="true"/>
<createFolder start="true"/>
<createFile start="true"/>
</inotify>
<debug start="false"/>
<sersync>
<localpath watch="/opt/tongbu">
<remote ip="192.168.0.104" name="tongbu1"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<commonParams params="-artuz"/>
<auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
<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 60min execute once-->
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.gz"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
<plugin start="false" name="command"/>
</sersync>
下面做逐行的進(jìn)行解釋說(shuō)明:
<host hostip="localhost" port="8008"></host>
hostip與port是針對(duì)插件的保留字段,對(duì)于同步功能沒(méi)有任何作用,保留默認(rèn)即可。
filter文件過(guò)濾功能
對(duì)于sersync監(jiān)控的文件,會(huì)默認(rèn)過(guò)濾系統(tǒng)的臨時(shí)文件(以“.”開(kāi)頭,以“~”結(jié)尾),除了這些文件外,可以自定義其他需要過(guò)濾的文件。
<filter start="true">
<exclude expression="(.*)\.gz"></exclude>
<exclude expression="^info/*"></exclude>
</filter>
將start設(shè)置為 true,在exclude標(biāo)簽中,填寫正則表達(dá)式,默認(rèn)給出兩個(gè)例子分別是過(guò)濾以”.gz”結(jié)尾的文件與過(guò)濾監(jiān)控目錄下的info路徑(監(jiān)控路徑/info /*),可以根據(jù)需要添加,但開(kāi)啟的時(shí)候,自己測(cè)試一下,正則表達(dá)式如果出現(xiàn)錯(cuò)誤,控制臺(tái)會(huì)有提示。相比較使用rsync 的exclude功能,被過(guò)濾的路徑,不會(huì)加入監(jiān)控,大大減少rsync的通訊量。
inotify監(jiān)控參數(shù)設(shè)定(優(yōu)化)
對(duì)于inotify監(jiān)控參數(shù)可以進(jìn)行設(shè)置,根據(jù)您項(xiàng)目的特點(diǎn)優(yōu)化srsync。
<inotify>
<delete start="true"/>
<createFolder start="true"/>
<createFile start="true"/>
</inotify>
對(duì)于大多數(shù)應(yīng)用,可以嘗試把createFile(監(jiān)控文件事件選項(xiàng))設(shè)置為false來(lái)提高性能,減少 rsync通訊。因?yàn)榭截愇募奖O(jiān)控目錄會(huì)產(chǎn)生create事件與close_write事件,所以如果關(guān)閉create事件,只監(jiān)控文件拷貝結(jié)束時(shí)的事 件close_write,同樣可以實(shí)現(xiàn)文件完整同步。
注意:強(qiáng)將createFolder保持為true,如果將createFolder設(shè)為false,則不會(huì)對(duì)產(chǎn)生的目錄進(jìn)行監(jiān)控,該目錄下的子文件與子目錄也不會(huì)被監(jiān)控。所以除非特殊需要,請(qǐng)開(kāi)啟。默認(rèn)情況下對(duì)創(chuàng)建文件(目錄)事件與刪除文件(目錄)事件都進(jìn)行監(jiān)控,如果項(xiàng)目中不需要?jiǎng)h除遠(yuǎn)程目標(biāo)服務(wù)器的文件(目錄),則可以將delete 參數(shù)設(shè)置為false,則不對(duì)刪除事件進(jìn)行監(jiān)控。
Debug開(kāi)啟
<debug start="false"/>
設(shè)置為true,開(kāi)啟debug模式,會(huì)在sersync正在運(yùn)行的控制臺(tái),打印inotify事件與rsync同步命令。
XFS文件系統(tǒng)
<fileSystem xfs="false"/>
對(duì)于xfs文件系統(tǒng)的用戶,需要將這個(gè)選項(xiàng)開(kāi)啟,才能使sersync正常工作.
文件監(jiān)控與遠(yuǎn)程同步設(shè)置
<localpath watch="/opt/tongbu">
<remote ip="192.168.0.104" name="tongbu1"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
詳見(jiàn)sersync2 完全安裝配置說(shuō)明(一) —-基本功能使用
Rsync參數(shù)配置
<rsync>
<commonParams params="-artuz"/>
<auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="false" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
commonParams可以用戶自定義rsync參數(shù),默認(rèn)是-artuz
auth start=”false” 設(shè)置為true的時(shí)候,使用rsync的認(rèn)證模式傳送,需要配置user與passwrodfile(–password-file=/etc/rsync.pas),來(lái)使用。userDefinedPort 當(dāng)遠(yuǎn)程同步目標(biāo)服務(wù)器的rsync端口不是默認(rèn)端口的時(shí)候使用(–port=874)。timeout設(shè)置rsync的timeout時(shí)間(–timeout=100)。ssh 使用rsync -e ssh的方式進(jìn)行傳輸。
失敗日志腳步配置
<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/>
對(duì)于失敗的傳輸,會(huì)進(jìn)行重新傳送,再次失敗就會(huì)寫入rsync_fail_log,然后每隔一段時(shí)間(timeToExecute進(jìn)行設(shè)置)執(zhí)行該腳本再次重新傳送,然后清空該腳本??梢酝ㄟ^(guò)path來(lái)設(shè)置日志路徑。
Crontab定期整體同步功能
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.gz"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
crontab可以對(duì)監(jiān)控路徑與遠(yuǎn)程目標(biāo)主機(jī)每隔一段時(shí)間進(jìn)行一次整體同步,可能由于一些原因兩次失敗重傳都失敗了,這個(gè)時(shí)候如果開(kāi)啟了crontab功 能,還可以進(jìn)一步保證各個(gè)服務(wù)器文件一致,如果文件量比較大,crontab的時(shí)間間隔要設(shè)的大一些,否則可能增加通訊開(kāi)銷。schedule這個(gè)參數(shù)是設(shè)置crontab的時(shí)間間隔,默認(rèn)是600分鐘
如果開(kāi)啟了filter文件過(guò)濾功能,那么crontab整體同步也需要設(shè)置過(guò)濾,否則雖然實(shí)時(shí)同步的時(shí)候文件被過(guò)濾了,但crontab整體同步的時(shí)候 如果不單獨(dú)設(shè)置crontabfilter,還會(huì)將需過(guò)濾的文件同步到遠(yuǎn)程,crontab的過(guò)濾正則與filter過(guò)濾的不同,也給出了兩個(gè)實(shí)例分別對(duì) 應(yīng)與過(guò)濾文件與目錄。總之如果同時(shí)開(kāi)啟了filter與crontab,則要開(kāi)啟crontab的crontabfilter,并按示例設(shè)置使其與filter的過(guò)濾一一對(duì)應(yīng)。
插件設(shè)置
<plugin start="false" name="command"/>
當(dāng)設(shè)置為true的時(shí)候,將文件同步到遠(yuǎn)程服務(wù)器后會(huì)調(diào)用name參數(shù)指定的插件。詳見(jiàn)請(qǐng)看插件設(shè)置。
sersync可選功能是通過(guò)xml配置文件來(lái)實(shí)現(xiàn)的,基本配置文件如下:
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
<host hostip="localhost" port="8008"></host>
<filter start="false">
<exclude expression="(.*)\.gz"></exclude>
<exclude expression="^info/*"></exclude>
</filter>
<inotify>
<delete start="true"/>
<createFolder start="true"/>
<createFile start="true"/>
</inotify>
<debug start="false"/>
<sersync>
<localpath watch="/opt/tongbu">
<remote ip="192.168.0.104" name="tongbu1"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<commonParams params="-artuz"/>
<auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
<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 60min execute once-->
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.gz"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
<plugin start="false" name="command"/>
</sersync>
下面做逐行的進(jìn)行解釋說(shuō)明:
復(fù)制代碼 代碼如下:
<host hostip="localhost" port="8008"></host>
hostip與port是針對(duì)插件的保留字段,對(duì)于同步功能沒(méi)有任何作用,保留默認(rèn)即可。
filter文件過(guò)濾功能
對(duì)于sersync監(jiān)控的文件,會(huì)默認(rèn)過(guò)濾系統(tǒng)的臨時(shí)文件(以“.”開(kāi)頭,以“~”結(jié)尾),除了這些文件外,可以自定義其他需要過(guò)濾的文件。
復(fù)制代碼 代碼如下:
<filter start="true">
<exclude expression="(.*)\.gz"></exclude>
<exclude expression="^info/*"></exclude>
</filter>
將start設(shè)置為 true,在exclude標(biāo)簽中,填寫正則表達(dá)式,默認(rèn)給出兩個(gè)例子分別是過(guò)濾以”.gz”結(jié)尾的文件與過(guò)濾監(jiān)控目錄下的info路徑(監(jiān)控路徑/info /*),可以根據(jù)需要添加,但開(kāi)啟的時(shí)候,自己測(cè)試一下,正則表達(dá)式如果出現(xiàn)錯(cuò)誤,控制臺(tái)會(huì)有提示。相比較使用rsync 的exclude功能,被過(guò)濾的路徑,不會(huì)加入監(jiān)控,大大減少rsync的通訊量。
inotify監(jiān)控參數(shù)設(shè)定(優(yōu)化)
對(duì)于inotify監(jiān)控參數(shù)可以進(jìn)行設(shè)置,根據(jù)您項(xiàng)目的特點(diǎn)優(yōu)化srsync。
復(fù)制代碼 代碼如下:
<inotify>
<delete start="true"/>
<createFolder start="true"/>
<createFile start="true"/>
</inotify>
對(duì)于大多數(shù)應(yīng)用,可以嘗試把createFile(監(jiān)控文件事件選項(xiàng))設(shè)置為false來(lái)提高性能,減少 rsync通訊。因?yàn)榭截愇募奖O(jiān)控目錄會(huì)產(chǎn)生create事件與close_write事件,所以如果關(guān)閉create事件,只監(jiān)控文件拷貝結(jié)束時(shí)的事 件close_write,同樣可以實(shí)現(xiàn)文件完整同步。
注意:強(qiáng)將createFolder保持為true,如果將createFolder設(shè)為false,則不會(huì)對(duì)產(chǎn)生的目錄進(jìn)行監(jiān)控,該目錄下的子文件與子目錄也不會(huì)被監(jiān)控。所以除非特殊需要,請(qǐng)開(kāi)啟。默認(rèn)情況下對(duì)創(chuàng)建文件(目錄)事件與刪除文件(目錄)事件都進(jìn)行監(jiān)控,如果項(xiàng)目中不需要?jiǎng)h除遠(yuǎn)程目標(biāo)服務(wù)器的文件(目錄),則可以將delete 參數(shù)設(shè)置為false,則不對(duì)刪除事件進(jìn)行監(jiān)控。
Debug開(kāi)啟
復(fù)制代碼 代碼如下:
<debug start="false"/>
設(shè)置為true,開(kāi)啟debug模式,會(huì)在sersync正在運(yùn)行的控制臺(tái),打印inotify事件與rsync同步命令。
XFS文件系統(tǒng)
<fileSystem xfs="false"/>
對(duì)于xfs文件系統(tǒng)的用戶,需要將這個(gè)選項(xiàng)開(kāi)啟,才能使sersync正常工作.
文件監(jiān)控與遠(yuǎn)程同步設(shè)置
復(fù)制代碼 代碼如下:
<localpath watch="/opt/tongbu">
<remote ip="192.168.0.104" name="tongbu1"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
詳見(jiàn)sersync2 完全安裝配置說(shuō)明(一) —-基本功能使用
Rsync參數(shù)配置
復(fù)制代碼 代碼如下:
<rsync>
<commonParams params="-artuz"/>
<auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="false" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
commonParams可以用戶自定義rsync參數(shù),默認(rèn)是-artuz
auth start=”false” 設(shè)置為true的時(shí)候,使用rsync的認(rèn)證模式傳送,需要配置user與passwrodfile(–password-file=/etc/rsync.pas),來(lái)使用。userDefinedPort 當(dāng)遠(yuǎn)程同步目標(biāo)服務(wù)器的rsync端口不是默認(rèn)端口的時(shí)候使用(–port=874)。timeout設(shè)置rsync的timeout時(shí)間(–timeout=100)。ssh 使用rsync -e ssh的方式進(jìn)行傳輸。
失敗日志腳步配置
復(fù)制代碼 代碼如下:
<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/>
對(duì)于失敗的傳輸,會(huì)進(jìn)行重新傳送,再次失敗就會(huì)寫入rsync_fail_log,然后每隔一段時(shí)間(timeToExecute進(jìn)行設(shè)置)執(zhí)行該腳本再次重新傳送,然后清空該腳本??梢酝ㄟ^(guò)path來(lái)設(shè)置日志路徑。
Crontab定期整體同步功能
復(fù)制代碼 代碼如下:
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.gz"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
crontab可以對(duì)監(jiān)控路徑與遠(yuǎn)程目標(biāo)主機(jī)每隔一段時(shí)間進(jìn)行一次整體同步,可能由于一些原因兩次失敗重傳都失敗了,這個(gè)時(shí)候如果開(kāi)啟了crontab功 能,還可以進(jìn)一步保證各個(gè)服務(wù)器文件一致,如果文件量比較大,crontab的時(shí)間間隔要設(shè)的大一些,否則可能增加通訊開(kāi)銷。schedule這個(gè)參數(shù)是設(shè)置crontab的時(shí)間間隔,默認(rèn)是600分鐘
如果開(kāi)啟了filter文件過(guò)濾功能,那么crontab整體同步也需要設(shè)置過(guò)濾,否則雖然實(shí)時(shí)同步的時(shí)候文件被過(guò)濾了,但crontab整體同步的時(shí)候 如果不單獨(dú)設(shè)置crontabfilter,還會(huì)將需過(guò)濾的文件同步到遠(yuǎn)程,crontab的過(guò)濾正則與filter過(guò)濾的不同,也給出了兩個(gè)實(shí)例分別對(duì) 應(yīng)與過(guò)濾文件與目錄。總之如果同時(shí)開(kāi)啟了filter與crontab,則要開(kāi)啟crontab的crontabfilter,并按示例設(shè)置使其與filter的過(guò)濾一一對(duì)應(yīng)。
插件設(shè)置
復(fù)制代碼 代碼如下:
<plugin start="false" name="command"/>
當(dāng)設(shè)置為true的時(shí)候,將文件同步到遠(yuǎn)程服務(wù)器后會(huì)調(diào)用name參數(shù)指定的插件。詳見(jiàn)請(qǐng)看插件設(shè)置。
您可能感興趣的文章:
- spring如何使用xml裝配bean
- 基于XML配置Spring的自動(dòng)裝配過(guò)程解析
- Spring裝配Bean教程之XML安裝配置bean詳解
- Spring注解實(shí)現(xiàn)Bean自動(dòng)裝配示例詳解
- Spring IOC裝配Bean過(guò)程解析
- Spring自動(dòng)裝配Bean實(shí)現(xiàn)過(guò)程詳解
- spring boot中的條件裝配bean的實(shí)現(xiàn)
- spring裝配bean的3種方式總結(jié)
- 在Spring中自動(dòng)裝配Bean的屬性
- spring在IoC容器中裝配Bean詳解
- 詳解SpringBean基于XML的裝配
相關(guān)文章
CentOS8.0 網(wǎng)絡(luò)配置的實(shí)現(xiàn)
這篇文章主要介紹了CentOS8.0 網(wǎng)絡(luò)配置的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
判斷Unix系統(tǒng)及庫(kù)文件是32位還是64位的詳解
這篇文章主要介紹了判斷Unix系統(tǒng)及庫(kù)文件是32位還是64位的的相關(guān)資料,這里整理下查看系統(tǒng)位數(shù)的命令,需要的朋友可以參考下2016-11-11
ubuntu下的虛擬環(huán)境中安裝Django的操作方法
這篇文章主要介紹了ubuntu下的虛擬環(huán)境中安裝Django的操作方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09

