




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、項(xiàng)目中遇到兩臺(tái)機(jī)子上文件需要實(shí)時(shí)同步的情況,嘗試了下面兩種方法: 項(xiàng)目要求:A機(jī)(190與B機(jī)(217要求一個(gè)文件夾內(nèi)容同對(duì)方一致,A機(jī)與B機(jī)都有可能單獨(dú)接收到文件從而同步到對(duì)方。 方法一、 使用rsyncserver與inotify配合同步文件 1、rsync-server配置(217 # vi /etc/xinetd.d/rsync # default: off # allows crc checksumming etc. service rsync disable = no socket_type = stream wait = no user = root server = /usr/
2、bin/rsync server_args = -daemon log_on_failure = USERID 2、指定文件位置 # vi /etc/rsyncd.conf uid = root gid = root use chroot = yes max connections = 4 strict modes = yes syslog facility = local5 port = 873 backup path = /home/rsync/test/ 要同步的文件夾 comment = This is a test ignore errors read only = no 寫(xiě)權(quán)限 l
3、ist = yes auth users = rsync secrets file = /etc/rsync.pas 驗(yàn)證文件,對(duì)方機(jī)子也要存在這個(gè)文件 hosts allow = 90 客戶端IP3、創(chuàng)建rsync.pas # vi /etc/rsync.pas sync:test4、客戶端同步腳本(190) vi inotify_rsync.sh #!/bin/bash SRC=/home/rsync/test/ DST=rsync17:backup /usr/bin/inotifywait -mrq -e modify,delete,creat
4、e,attrib $SRC | while read D E F do /usr/bin/rsync -ahqzt -progress -delete -password-file=/etc/rsync.pas $SRC $DST done5、設(shè)置腳本開(kāi)機(jī)自啟動(dòng) # cat /root/inotify_rsync.sh & /etc/rc.local6、雙向同步的實(shí)現(xiàn)及存在問(wèn)題 以上只是實(shí)現(xiàn)A機(jī)(190同步到B機(jī)(217的操作,把配置改一下在A機(jī)(190)上建立rsync服務(wù)器,即可實(shí)現(xiàn)雙向同步,但不能執(zhí)行刪除操作,因?yàn)樗鼈儾](méi)有方法判斷以誰(shuí)的操作為主,會(huì)造成新建文件被刪除。 方法二、使用NF
5、S共享服務(wù)器實(shí)現(xiàn)文件同步 1、配置NFS service portmap start service nfs start #vi /etc/exports /home/rsync/test *(rw,sync,no_root_squash #rw:可讀寫(xiě)的權(quán)限;sync:資料同步寫(xiě)入存儲(chǔ)器中; no_root_squash: 登入到NFS主機(jī)的用戶如果是ROOT用戶,他就用有ROOT的權(quán)限 # exportfs rv #重新將設(shè)定加載2、加載NFS共享目錄 加載之前先用SSH連接一下兩臺(tái)機(jī)子,這樣就不用配驗(yàn)證了,再寫(xiě)入到/etc/fstab文件里就OK了。 mount -t nfs 192.1
6、68.1.190:/home/rsync/test /home/rsync/test寫(xiě)在最后:方法一文件同時(shí)存在兩臺(tái)機(jī)子上,具有實(shí)時(shí)性,安全性,但只適合不執(zhí)行刪除的文件的環(huán)境;方法二文件只存在于NFS服務(wù)器上,如果配合rsync服務(wù)器定時(shí)備份到另一地方,出現(xiàn)故障時(shí)可以人工恢復(fù),也是不錯(cuò)的選擇。 如何保持linux服務(wù)器間的文件同步2007-04-16 8:43簡(jiǎn)介 對(duì)于選擇Linux 作為應(yīng)用平臺(tái)的的中小型企業(yè)或網(wǎng)站來(lái)說(shuō),往往面臨如何實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)程備份或 者網(wǎng)站鏡象的問(wèn)題,雖然有商業(yè)化的備份和鏡象產(chǎn)品可供選擇,但這些產(chǎn)品的價(jià)格往往過(guò)于昂貴。因此如何利用自由軟件高效實(shí)現(xiàn)遠(yuǎn)程備份和網(wǎng)站鏡象就成為一個(gè)
7、值得討論的話題。 通過(guò)網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程數(shù)據(jù)備份或者網(wǎng)站鏡象的最簡(jiǎn)單的方法就是使用wget,但是這種方式每次都需要將所有數(shù)據(jù)都重新在網(wǎng)絡(luò)上傳輸一遍,而不考慮哪些文件是經(jīng)過(guò)更新的,因此效率非常低下。尤其在需要備份的數(shù)據(jù)量很大的時(shí)候,往往需要花費(fèi)數(shù)個(gè)小時(shí)來(lái)在網(wǎng)絡(luò)上進(jìn)行數(shù)據(jù)傳輸。 因此這里就介紹一種高效的網(wǎng)絡(luò)遠(yuǎn)程備份和鏡象工具-rsync,它可以滿足絕大多數(shù)要求不是特別嚴(yán)格的備份需求。 rsync是類unix系統(tǒng)下的數(shù)據(jù)鏡像備份工具,從軟件的命名上就可以看出來(lái)了-remote sync。它的特性如下: 可以鏡像保存整個(gè)目錄樹(shù)和文件系統(tǒng)。 可以很容易做到保持原來(lái)文件的權(quán)限、時(shí)間、軟硬鏈接等等。 無(wú)須特殊權(quán)限
8、即可安裝。 優(yōu)化的流程,文件傳輸效率高。 可以使用rcp、ssh等方式來(lái)傳輸文件,當(dāng)然也可以通過(guò)直接的socket連接。 支持匿名傳輸,以方便進(jìn)行網(wǎng)站鏡象。 軟件下載 rysnc的主頁(yè)地址為: / 目前最新版本為2.4.6??梢赃x擇從原始網(wǎng)站下載:/ftp/rsync/。也可以選擇從本站下載:rsync 2.4.6。 編譯安裝 rsync的編譯安裝非常簡(jiǎn)單,只需要以下簡(jiǎn)單的幾步: rootwww rsync-2.4.6# ./configure rootwww rsync-2.4.6# make rootwww
9、 rsync-2.4.6# make install 但是需要注意的是必須在服務(wù)器A和B上都安裝rsync,其中A服務(wù)器上是以服務(wù)器模式運(yùn)行rsync,而B(niǎo)上則以客戶端方式運(yùn)行rsync。這樣在web服務(wù)器A上運(yùn)行rsync守護(hù)進(jìn)程,在B上定時(shí)運(yùn)行客戶程序來(lái)備份web服務(wù)器A上需要備份的內(nèi)容。 rsync服務(wù)器 1、rsync服務(wù)器的啟動(dòng) 在web服務(wù)器A上需要以守護(hù)進(jìn)程方式來(lái)啟動(dòng)rsync服務(wù)器,只需要運(yùn)行: rootwww rsync-2.4.6# /usr/local/bin/rsync -daemon 即可啟動(dòng)。rsync默認(rèn)服務(wù)端口為873,服務(wù)器在該端口接收客戶的匿名或者認(rèn)證方式的
10、備份請(qǐng)求。 如果要在啟動(dòng)時(shí)把服務(wù)起來(lái),有幾種不同的方法,比如: a、加入inetd.conf 編輯/etc/services,加入rsync 873/tcp,指定rsync的服務(wù)端口是873。編加/etc/inetd.conf,加入rsync stream tcp nowait root /bin/rsync rsync -daemon 注:對(duì)于xinetd,設(shè)置方法類似。 b、加入rc.local 編輯/etc/rc.d/rc.local,在最后添加: /usr/local/bin/rsync -daemon 2、rsync的配置 對(duì)于rsync服務(wù)器來(lái)說(shuō),最重要和復(fù)雜的就是它的配置了。rs
11、ync服務(wù)器的配置文件為/etc/rsyncd.conf,其控制認(rèn)證、訪問(wèn)、日志記錄等等。 該 文件是由一個(gè)或多個(gè)模塊結(jié)構(gòu)組成。一個(gè)模塊定義以方括弧中的 模塊名開(kāi)始,直到下一個(gè)模塊定義開(kāi)始或者文件結(jié)束,模塊中包含格式為name = value的參數(shù)定義。每個(gè)模塊其實(shí)就對(duì)應(yīng)需要備份的一個(gè)目錄樹(shù),比方說(shuō)在我們的實(shí)例環(huán)境中,有三個(gè)目錄樹(shù)需要備份:/www/、 /home/web_user1/和/home/web_user2/,那么就需要在配置文件中定義三個(gè)模塊,分別對(duì)應(yīng)三個(gè)目錄樹(shù)。 配置文件是行為單位的,也就是每個(gè)新行都表示一個(gè)新的注釋、模塊定義或者參數(shù)賦值。以#開(kāi)始的行表示注釋,以結(jié)束的行表示下面
12、一行是該行的繼續(xù)。參數(shù)賦值中等號(hào)后可能是一個(gè)大小寫(xiě)不敏感的字符串、一個(gè)以trure/false表示的布爾值。 全局參數(shù) 在文件中modlue之前的所有參數(shù)都是全局參數(shù),當(dāng)然也可以在全局參數(shù)部分定義模塊參數(shù),這時(shí)候該參數(shù)的值就是所有模塊的默認(rèn)值。 motd file motd file參數(shù)用來(lái)指定一個(gè)消息文件,當(dāng)客戶連接服務(wù)器時(shí)該文件的內(nèi)容顯示給客戶,默認(rèn)是沒(méi)有motd文件的。 log file log file指定rsync的日志文件,而不將日志發(fā)送給syslog。 pid file 指定rsync的pid文件。 syslog facility 指定rsync發(fā)送日志消息給syslog時(shí)的消息
13、級(jí)別,常見(jiàn)的消息級(jí)別是:uth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, sys-log, user, uucp, local0, local1, local2, local3,local4, local5, local6和local7。默認(rèn)值是daemon。 模塊參數(shù) 在全局參數(shù)之后就需要定義一個(gè)或多個(gè)模塊了,模塊中可以定義以下參數(shù): comment 給模塊指定一個(gè)描述,該描述連同模塊名在客戶連接得到模塊列表時(shí)顯示給客戶。默認(rèn)沒(méi)有描述定義。 path 指定該模塊的供備份的目錄樹(shù)路徑,該參數(shù)是必須指定的。 us
14、e chroot 如果use chroot指定為true,那么rsync在傳輸文件以前首先chroot到path參數(shù)所指定的目錄下。這樣做的原因是實(shí)現(xiàn)額外的安全防護(hù),但是缺 點(diǎn)是需要以roots權(quán)限,并且不能備份指向外部的符號(hào)連接所指向的目錄文件。默認(rèn)情況下chroot值為true。 max connections 指定該模塊的最大并發(fā)連接數(shù)量以保護(hù)服務(wù)器,超過(guò)限制的連接請(qǐng)求將被告知隨后再試。默認(rèn)值是0,也就是沒(méi)有限制。 lock file 指定支持max connections參數(shù)的鎖文件,默認(rèn)值是/var/run/rsyncd.lock。 read only 該選項(xiàng)設(shè)定是否允許客戶上載文件
15、。如果為true那么任何上載請(qǐng)求都會(huì)失敗,如果為false并且服務(wù)器目錄讀寫(xiě)權(quán)限允許那么上載是允許的。默認(rèn)值為true。 list 該選項(xiàng)設(shè)定當(dāng)客戶請(qǐng)求可以使用的模塊列表時(shí),該模塊是否應(yīng)該被列出。如果設(shè)置該選項(xiàng)為false,可以創(chuàng)建隱藏的模塊。默認(rèn)值是true。 uid 該選項(xiàng)指定當(dāng)該模塊傳輸文件時(shí)守護(hù)進(jìn)程應(yīng)該具有的uid,配合gid選項(xiàng)使用可以確定哪些可以訪問(wèn)怎么樣的文件權(quán)限, 默認(rèn)值是nobody。 gid 該選項(xiàng)指定當(dāng)該模塊傳輸文件時(shí)守護(hù)進(jìn)程應(yīng)該具有的gid。默認(rèn)值為nobody。 exlude 用來(lái)指定多個(gè)由空格隔開(kāi)的多個(gè)模式列表,并將其添加到exclude列表中。這等同于在客戶端命令
16、中使用-exclude來(lái)指定模式,不過(guò)配置文件中指 定的exlude模式不會(huì)傳遞給客戶端,而僅僅應(yīng)用于服務(wù)器。一個(gè)模塊只能指定一個(gè)exlude選項(xiàng),但是可以在模式前面使用-和+來(lái)指定是 exclude還是include。 但是需要注意的一點(diǎn)是該選項(xiàng)有一定的安全性問(wèn)題,客戶很有可能繞過(guò)exlude列表,如果希望確保特定的文件不能被訪問(wèn),那就最好結(jié)合uid/gid選項(xiàng)一起使用。 exlude from 指定一個(gè)包含exclude模式的定義的文件名,服務(wù)器從該文件中讀取exlude列表定義。 include 用 來(lái)指定多個(gè)由空格隔開(kāi)的多個(gè)rsync并應(yīng)該exlude的模式列表。這等同于在客戶端命令中
17、使用-include來(lái)指定模式,結(jié)合include和 exlude可以定義復(fù)雜的exlude/include規(guī)則 。一個(gè)模塊只能指定一個(gè)include選項(xiàng),但是可以在模式前面使用-和+來(lái)指定是exclude還是include。 include from 指定一個(gè)包含include模式的定義的文件名,服務(wù)器從該文件中讀取include列表定義。 auth users 該選項(xiàng)指定由空格或逗號(hào)分隔的用戶名列表,只有這些用戶才允許連接該模塊。這里的用戶和系統(tǒng)用戶沒(méi)有任何關(guān)系。如果auth users被設(shè)置,那么客戶端發(fā)出對(duì)該模塊的連接請(qǐng)求以后會(huì)被rsync請(qǐng)求challenged進(jìn)行驗(yàn)證身份這里使用的
18、 challenge/response認(rèn)證協(xié)議。用戶的名和密碼以明文方式存放在secrets file選項(xiàng)指定的文件中。默認(rèn)情況下無(wú)需密碼就可以連接模塊(也就是匿名方式。 secrets file 該選項(xiàng)指定一個(gè)包 含定義用戶名:密碼對(duì)的文件。只有在auth users被定義時(shí),該文件才有作用。文件每行包含一個(gè)username:passwd對(duì)。一般來(lái)說(shuō)密碼最好不要超過(guò)8個(gè)字符。沒(méi)有默認(rèn)的 secures file名,需要限式指定一個(gè)。(例如:/etc/rsyncd.secrets strict modes 該選項(xiàng)指定是否監(jiān)測(cè)密碼文件的權(quán)限,如果該選項(xiàng)值為true那么密碼文件只能被rsync服務(wù)
19、器運(yùn)行身份的用戶訪問(wèn),其他任何用戶不可以訪問(wèn)該文件。默認(rèn)值為true。 hosts allow 該選項(xiàng)指定哪些IP的客戶允許連接該模塊??蛻裟J蕉x可以是以下形式: o xxx.xxx.xxx.xxx,客戶主機(jī)只有完全匹配該IP才允許訪問(wèn)。例如: o a.b.c.d/n,屬于該網(wǎng)絡(luò)的客戶都允許連接該模塊。例如:/24 o a.b.c.d/e.f.g.h,屬于該網(wǎng)絡(luò)的客戶都允許連接該模塊。例如:/ o 一個(gè)主機(jī)名,客戶主機(jī)只有擁有該主機(jī)名才允許訪問(wèn),例如:。 o *,所有屬于該域的主機(jī)都允許。 默認(rèn)是 允
20、許所有主機(jī)連接。 hosts deny 指定不允許連接rsync服務(wù)器的機(jī)器,可以使用hosts allow的定義方式來(lái)進(jìn)行定義。默認(rèn)是沒(méi)有hosts deny定義。 ignore errors 指定rsyncd在判斷是否運(yùn)行傳輸時(shí)的刪除操作時(shí)忽略server上的IP錯(cuò)誤,一般來(lái)說(shuō)rsync在出現(xiàn)IO錯(cuò)誤時(shí)將將跳過(guò)-delete操作,以防止因?yàn)闀簳r(shí)的資源不足或其它IO錯(cuò)誤導(dǎo)致的嚴(yán)重問(wèn)題。 ignore nonreadable 指定rysnc服務(wù)器完全忽略那些用戶沒(méi)有訪問(wèn)權(quán)限的文件。這對(duì)于在需要備份的目錄中有些文件是不應(yīng)該被備份者得到的情況是有意義的。 transfer logging 使rsy
21、nc服務(wù)器使用ftp格式的文件來(lái)記錄下載和上載操作在自己?jiǎn)为?dú)的日志中。 log format 通過(guò)該選項(xiàng)用戶在使用transfer logging可以自己定制日志文件的字段。其格式是一個(gè)包含格式定義符的字符串,可以使用的格式定義符如下所示: o %h 遠(yuǎn)程主機(jī)名 o %a 遠(yuǎn)程IP地址 o %l 文件長(zhǎng)度字符數(shù) o %p 該次rsync會(huì)話的進(jìn)程id o %o 操作類型:send或recv o %f 文件名 o %P 模塊路徑 o %m 模塊名 o %t 當(dāng)前時(shí)間 o %u 認(rèn)證的用戶名(匿名時(shí)是null o %b 實(shí)際傳輸?shù)淖止?jié)數(shù) o %c 當(dāng)發(fā)送文件時(shí),該字段記錄該文件的校驗(yàn)碼 默認(rèn)log
22、格式為:%o %h %a %m (%u %f %l,一般來(lái)說(shuō),在每行的頭上會(huì)添加%t %p 。在源代碼中同時(shí)發(fā)布有一個(gè)叫rsyncstats的perl腳本程序來(lái)統(tǒng)計(jì)這種格式的日志文件。 timeout 通過(guò)該選項(xiàng)可以覆蓋客戶指定的IP超時(shí)時(shí)間。通過(guò)該選項(xiàng)可以確保rsync服務(wù)器不會(huì)永遠(yuǎn)等待一個(gè)崩潰的客戶。超時(shí)單位為秒鐘,0表示沒(méi)有超時(shí)定義,這也是默認(rèn)值。對(duì)于匿名rsync服務(wù)器來(lái)說(shuō),一個(gè)理想的數(shù)字是600。 refuse options 通過(guò)該選項(xiàng)可以定義一些不允許客戶對(duì)該模塊使用的命令參數(shù)列表。這里必須使用命令全名,而不能是簡(jiǎn)稱。但發(fā)生拒絕某個(gè)命令的情況時(shí)服務(wù)器將報(bào)告錯(cuò)誤信息然后退出。如果要
23、防止使用壓縮,應(yīng)該是:dont compress = *。 dont compress 用來(lái)指定那些不進(jìn)行壓縮處理再傳輸?shù)奈募J(rèn)值是 *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz rsync客戶命令 在對(duì)rsync服務(wù)器配置結(jié)束以后,下一步就需要在客戶端發(fā)出rsync命令來(lái)實(shí)現(xiàn)將服務(wù)器端的文件備份到客戶端來(lái)。rsync是一個(gè)功能非常強(qiáng)大的工具,其命令也有很多功能特色選項(xiàng),我們下面就對(duì)它的選項(xiàng)一一進(jìn)行分析說(shuō)明。 首先,rsync的命令格式可以為: rsync OPTION. SRC SRC. USERHOST:DEST rsync OP
24、TION. USERHOST:SRC DEST rsync OPTION. SRC SRC. DEST rsync OPTION. USERHOST:SRC DEST rsync OPTION. SRC SRC. USERHOST:DEST rsync OPTION. rsync:/USERHOST:PORT/SRC DEST rsync有六種不同的工作模式: 拷貝本地文件;當(dāng)SRC和DES 路徑信息都不包含有單個(gè)冒號(hào):分隔符時(shí)就啟動(dòng)這種工作模式。 使用一個(gè)遠(yuǎn)程shell程序(如rsh、ssh)來(lái)實(shí)現(xiàn)將本地機(jī)器的內(nèi)容拷貝到遠(yuǎn)程機(jī)器。當(dāng)DST路徑地址包含單個(gè)冒號(hào):分隔符時(shí)啟動(dòng)該模式。 使用一個(gè)遠(yuǎn)
25、程shell程序(如rsh、ssh)來(lái)實(shí)現(xiàn)將遠(yuǎn)程機(jī)器的內(nèi)容拷貝到本地機(jī)器。當(dāng)SRC地址路徑包含單個(gè)冒號(hào):分隔符時(shí)啟動(dòng)該模式。 從遠(yuǎn)程rsync服務(wù)器中拷貝文件到本地機(jī)。當(dāng)SRC路徑信息包含:分隔符時(shí)啟動(dòng)該模式。 從本地機(jī)器拷貝文件到遠(yuǎn)程rsync服務(wù)器中。當(dāng)DST路徑信息包含:分隔符時(shí)啟動(dòng)該模式。 列遠(yuǎn)程機(jī)的文件列表。這類似于rsync傳輸,不過(guò)只要在命令中省略掉本地機(jī)信息即可。 1、用法 在使用rsync傳輸文件時(shí),需要指定一個(gè)源和一個(gè)目的,其中一個(gè)可能是遠(yuǎn)程機(jī)器的資源信息。例如: rsync *.c foo:src/ 表示將傳輸當(dāng)前目錄下所有以.c結(jié)尾的文件到機(jī)器foo的src目錄下。如果
26、任何文件已經(jīng)存在于遠(yuǎn)程系統(tǒng),則會(huì)調(diào)用遠(yuǎn)程更新協(xié)議來(lái)實(shí)現(xiàn)僅僅傳輸那些更新過(guò)的文件。 rsync -avz foo:src/bar /data/tmp 該命令則遞歸地傳輸機(jī)器foo上的src/bar目錄下的所有內(nèi)容到本地/data/tmp/bar目錄中。文件以歸檔模式進(jìn)行傳輸,以確保符號(hào)鏈結(jié)、屬性、權(quán)限、屬主等信息在傳輸中都被保存。此外,可以使用壓縮技術(shù)來(lái)加快數(shù)據(jù)傳輸: rsync -avz foo:src/bar/ /data/tmp 路徑信息以/結(jié)尾時(shí)表示拷貝該目錄,而不以/結(jié)尾表示拷貝該目錄。當(dāng)配合使用-delete選項(xiàng)時(shí)這兩種情況的區(qū)別將會(huì)表現(xiàn)出來(lái)。 也可以以本地模式來(lái)使用rsync,如果
27、SRC和DST路徑中都沒(méi)有任何:符號(hào)則表示該命令運(yùn)行在本地模式,等同于cp命令。 rsync : 這種模式則將會(huì)列出.可以訪問(wèn)的所有模塊信息。 選項(xiàng)說(shuō)明 -v, -verbose 詳細(xì)模式輸出 -q, -quiet 精簡(jiǎn)輸出模式 -c, -checksum 打開(kāi)校驗(yàn)開(kāi)關(guān),強(qiáng)制對(duì)文件傳輸進(jìn)行校驗(yàn) -a, -archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD -r, -recursive 對(duì)子目錄以遞歸模式處理 -R, -relative 使用相對(duì)路徑信息 rsync foo/bar/foo.c remote:/tmp/ 則在/tmp目錄下創(chuàng)建foo.c文件
28、,而如果使用-R參數(shù): rsync -R foo/bar/foo.c remote:/tmp/ 則會(huì)創(chuàng)建文件/tmp/foo/bar/foo.c,也就是會(huì)保持完全路徑信息。 -b, -backup 創(chuàng)建備份,也就是對(duì)于目的已經(jīng)存在有同樣的文件名時(shí),將老的文件重新命名為filename??梢允褂?suffix選項(xiàng)來(lái)指定不同的備份文件前綴。 -backup-dir 將備份文件(如filename存放在在目錄下。 -suffix=SUFFIX 定義備份文件前綴 -u, -update 僅僅進(jìn)行更新,也就是跳過(guò)所有已經(jīng)存在于DST,并且文件時(shí)間晚于要 備份的文件。(不覆蓋更新的文件 -l, -link
29、s 保留軟鏈結(jié) -L, -copy-links 想對(duì)待常規(guī)文件一樣處理軟鏈結(jié) -copy-unsafe-links 僅僅拷貝指向SRC路徑目錄樹(shù)以外的鏈結(jié) -safe-links 忽略指向SRC路徑目錄樹(shù)以外的鏈結(jié) -H, -hard-links 保留硬鏈結(jié) -p, -perms 保持文件權(quán)限 -o, -owner 保持文件屬主信息 -g, -group 保持文件屬組信息 -D, -devices 保持設(shè)備文件信息 -t, -times 保持文件時(shí)間信息 -S, -sparse 對(duì)稀疏文件進(jìn)行特殊處理以節(jié)省DST的空間 -n, -dry-run現(xiàn)實(shí)哪些文件將被傳輸 -W, -whole-fil
30、e 拷貝文件,不進(jìn)行增量檢測(cè) -x, -one-file-system 不要跨越文件系統(tǒng)邊界 -B, -block-size=SIZE 檢驗(yàn)算法使用的塊尺寸,默認(rèn)是700字節(jié) -e, -rsh=COMMAND 指定替代rsh的shell程序 -rsync-path=PATH 指定遠(yuǎn)程服務(wù)器上的rsync命令所在路徑信息 -C, -cvs-exclude 使用和CVS一樣的方法自動(dòng)忽略文件,用來(lái)排除那些不希望傳輸?shù)奈募?-existing 僅僅更新那些已經(jīng)存在于DST的文件,而不備份那些新創(chuàng)建的文件 -delete 刪除那些DST中SRC沒(méi)有的文件 -delete-excluded 同樣刪除接收
31、端那些被該選項(xiàng)指定排除的文件 -delete-after 傳輸結(jié)束以后再刪除 -ignore-errors 及時(shí)出現(xiàn)IO錯(cuò)誤也進(jìn)行刪除 -max-delete=NUM 最多刪除NUM個(gè)文件 -partial 保留那些因故沒(méi)有完全傳輸?shù)奈募允羌涌祀S后的再次傳輸 -force 強(qiáng)制刪除目錄,即使不為空 -numeric-ids 不將數(shù)字的用戶和組ID匹配為用戶名和組名 -timeout=TIME IP超時(shí)時(shí)間,單位為秒 -I, -ignore-times 不跳過(guò)那些有同樣的時(shí)間和長(zhǎng)度的文件 -size-only 當(dāng)決定是否要備份文件時(shí),僅僅察看文件大小而不考慮文件時(shí)間 -modify-wind
32、ow=NUM 決定文件是否時(shí)間相同時(shí)使用的時(shí)間戳窗口,默認(rèn)為0 -T -temp-dir=DIR 在DIR中創(chuàng)建臨時(shí)文件 -compare-dest=DIR 同樣比較DIR中的文件來(lái)決定是否需要備份 -P 等同于 -partial -progress 顯示備份過(guò)程 -z, -compress 對(duì)備份的文件在傳輸時(shí)進(jìn)行壓縮處理 -exclude=PATTERN 指定排除不需要傳輸?shù)奈募J?-include=PATTERN 指定不排除而需要傳輸?shù)奈募J?-exclude-from=FILE 排除FILE中指定模式的文件 -include-from=FILE 不排除FILE指定模式匹配的文件 -
33、version 打印版本信息 -address 綁定到特定的地址 -config=FILE 指定其他的配置文件,不使用默認(rèn)的rsyncd.conf文件 -port=PORT 指定其他的rsync服務(wù)端口 -blocking-io 對(duì)遠(yuǎn)程shell使用阻塞IO -stats 給出某些文件的傳輸狀態(tài) -progress 在傳輸時(shí)現(xiàn)實(shí)傳輸過(guò)程 -log-format=FORMAT 指定日志文件格式 -password-file=FILE 從FILE中得到密碼 -bwlimit=KBPS 限制I/O帶寬,KBytes per second -h, -help 顯示幫助信息 實(shí)例分析 這里假設(shè)有兩臺(tái)服務(wù)
34、器:A和B。其 中A是主web服務(wù)器,具有域名(20, B服務(wù)器是備份機(jī),其域名為(21。其中A的web內(nèi)容存放在以下幾個(gè)地方: /www/和/home/web_user1/和/home/web_user2/。我們需要在備份機(jī)B上建立對(duì)這幾個(gè)目錄內(nèi)容的備份。 服務(wù)器配置實(shí)例 那么在上創(chuàng)建rsyncd的配置文件/etc/rsyncd.conf,內(nèi)容如下: uid = nobody gid = nobody use chroot = no max connections = 4 pid file = /var/run/rsyncd.pid lock fi
35、le = /var/run/rsync.lock log file = /var/log/rsyncd.log www path = /www/ ignore errors read only = true list = false hosts allow = 21 hosts deny = /32 auth users = backup secrets file = /etc/backserver.pas web_user1 path = /home/web_user1/ ignore errors read only = true list = fals
36、e hosts allow = 21 hosts deny = /32 uid = web_user1 gid = web_user1 auth users = backup secrets file = /etc/backserver.pas web_user2 path = /home/web_user2/ ignore errors read only = true list = false hosts allow = 21 hosts deny = /32 uid = web_user2 gid = web_use
37、r2 auth users = backup secrets file = /etc/backserver.pas 這里定義有四個(gè)三個(gè)模塊,分別對(duì)應(yīng)于三個(gè)需要備份的目錄樹(shù)。這里只允許21備份本機(jī)的數(shù)據(jù),并且需要認(rèn)證。三個(gè)模塊授權(quán)的備份用戶都為backup,并且用戶信息保存在文件/etc/backserver.pas中,其內(nèi)容如下: backup:bk_passwd 并且該文件只能是root用戶可讀寫(xiě)的,否則rsyncd啟動(dòng)時(shí)會(huì)出錯(cuò)。這些文件配置完畢以后,就需要在A服務(wù)器上啟動(dòng)rsyncd服務(wù)器: rsync -daemon 客戶命令示例 /usr/local/bin/rs
38、ync -vzrtopg -delete -exclude logs/ -exclude conf/ssl.*/ -progress backup20:www /backup/www/ -password-file=/etc/rsync.pass 上 面這個(gè)命令行中-vzrtopg里的v是verbose,z是壓縮,r是recursive,topg都是保持文件原有屬性如屬主、時(shí)間的參數(shù)。- progress是指顯示出詳細(xì)的進(jìn)度情況,-delete是指如果服務(wù)器端刪除了這一文件,那么客戶端也相應(yīng)把文件刪除,保持真正的一致。- exclude logs/ 表示不對(duì)/www/lo
39、gs目錄下的文件進(jìn)行備份。-exclude conf/ssl.*/表示不對(duì)/www/conf/ssl.*/目錄下的文件進(jìn)行備份。 backup20:www 表示對(duì)該命令是對(duì)服務(wù)器20中的www模塊進(jìn)行備份,backup表示使用backup來(lái)對(duì)該模塊進(jìn)行備份。 -password-file=/etc/rsync.pass來(lái)指定密碼文件,這樣就可以在腳本中使用而無(wú)需交互式地輸入驗(yàn)證密碼了,這里需要注意的是這份密碼文件權(quán)限屬性要設(shè)得只有root可讀。 這里將備份的內(nèi)容存放在備份機(jī)的/backup/www/目錄下。 rootlinuxaid /# /usr/
40、local/bin/rsync -vzrtopg -delete -exclude logs/ -exclude conf/ssl.*/ -progress backup20:www /backup/www/ -p assword-file=/etc/rsync.pass receiving file list . done ./ 1 785 (100% 1.py 4086 (100% 2.py 10680 (100% a 0 (100% ip 3956 (100% ./ wrote 2900 bytes read 145499 bytes 576.34 bytes/se
41、c total size is 2374927 speedup is 45.34 對(duì)其它兩個(gè)模塊操作的命令分別為: /usr/local/bin/rsync -vzrtopg -delete -progress backup20:web_user1 /backup/web_user1/ -password-file=/etc/rsync.pass /usr/local/bin/rsync -vzrtopg -delete -progress backup20:web_user2 /backup/web_user2/ -password-file=/e
42、tc/rsync.pass 可以將客戶命令通過(guò)crontab -e命令來(lái)實(shí)現(xiàn)自動(dòng)備份,如crontab -e: 一些示例腳本 這里這些腳本都是rsync網(wǎng)站上的例子: 1、每隔七天將數(shù)據(jù)往中心服務(wù)器做增量備份 #!/bin/sh # This script does personal backups to a rsync backup server. You will end up # with a 7 day rotating incremental backup. The incrementals will go # into subdirectories named after the
43、day of the week, and the current # full backup goes into a directory called current # tridge # directory to backup BDIR=/home/$USER # excludes file - this contains a wildcard pattern per line of files to exclude EXCLUDES=$HOME/cron/excludes # the name of the backup machine BSERVER=owl # your passwor
44、d on the backup server export RSYNC_PASSWORD=XXXXXX # BACKUPDIR=date +%A OPTS=-force -ignore-errors -delete-excluded -exclude-from=$EXCLUDES -delete -backup -backup-dir=/$BACKUPDIR -a export PATH=$PATH:/bin:/usr/bin:/usr/local/bin # the following line clears the last weeks incremental directory -d $
45、HOME/emptydir | mkdir $HOME/emptydir rsync -delete -a $HOME/emptydir/ $BSERVER:$USER/$BACKUPDIR/ rmdir $HOME/emptydir # now the actual transfer rsync $OPTS $BDIR $BSERVER:$USER/current 2、備份至一個(gè)空閑的硬盤(pán) #!/bin/sh export PATH=/usr/local/bin:/usr/bin:/bin LIST=rootfs usr data data2 for d in $LIST; do mount
46、 /backup/$d rsync -ax -exclude fstab -delete /$d/ /backup/$d/ umount /backup/$d done DAY=date +%A rsync -a -delete /usr/local/apache /data2/backups/$DAY rsync -a -delete /data/solid /data2/backups/$DAY 3、對(duì)的cvs樹(shù)進(jìn)行鏡像 #!/bin/bash cd /var/www/cvs/vger/ PATH=/usr/local/bin:/usr/freeware/b
47、in:/usr/bin:/bin RUN=lps x | grep rsync | grep -v grep | wc -l if $RUN -gt 0 ; then echo already running exit 1 fi rsync -az :cvs/CVSROOT/ChangeLog $HOME/ChangeLog sum1=sum $HOME/ChangeLog sum2=sum /var/www/cvs/vger/CVSROOT/ChangeLog if $sum1 = $sum2 ; then echo nothing to do exit 0 fi rsync -az -delete -force :cvs/ /var/www
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文具安全教案課件
- 印刷業(yè)互聯(lián)網(wǎng)+與融合發(fā)展考核試卷
- 冷藏車(chē)運(yùn)輸企業(yè)風(fēng)險(xiǎn)管理與內(nèi)部控制系統(tǒng)考核試卷
- 天然氣藏動(dòng)態(tài)模擬與預(yù)測(cè)考核試卷
- 影視錄放設(shè)備顯示技術(shù)考核試卷
- 文化藝術(shù)與城市品牌建設(shè)考核試卷
- 木片干燥技術(shù)與木材應(yīng)力釋放考核試卷
- 健身器材行業(yè)企業(yè)文化建設(shè)與品牌形象提升考核試卷
- 保險(xiǎn)業(yè)與新能源保險(xiǎn)市場(chǎng)的機(jī)遇與挑戰(zhàn)應(yīng)對(duì)策略案例分析考核試卷
- 制糖業(yè)的可持續(xù)發(fā)展評(píng)估考核試卷
- 勞務(wù)合同協(xié)議書(shū)書(shū)
- 白城2025年吉林大安市事業(yè)單位面向上半年應(yīng)征入伍高校畢業(yè)生招聘5人筆試歷年參考題庫(kù)附帶答案詳解
- 全球人工智能產(chǎn)業(yè)發(fā)展現(xiàn)狀和趨勢(shì)
- 2025年內(nèi)蒙古化工職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫(kù)含答案解析
- 民法典解讀之婚姻家庭編
- 2025年菏澤醫(yī)學(xué)專科學(xué)校高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 2025年漯河職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫(kù)含答案解析
- Unit 2 What time is it?-A Let's spell(課件)-2024-2025學(xué)年人教PEP版英語(yǔ)四年級(jí)下冊(cè)
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級(jí)下冊(cè)第二單元百分?jǐn)?shù)(二)(含答案)
- 創(chuàng)新教案:《歌唱二小放牛郎》在2025年音樂(lè)教學(xué)中的應(yīng)用
- 2024年西安電力高等??茖W(xué)校高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
評(píng)論
0/150
提交評(píng)論