rsync中文手冊(cè),使用rsync實(shí)現(xiàn)網(wǎng)站鏡像和備份_第1頁(yè)
rsync中文手冊(cè),使用rsync實(shí)現(xiàn)網(wǎng)站鏡像和備份_第2頁(yè)
rsync中文手冊(cè),使用rsync實(shí)現(xiàn)網(wǎng)站鏡像和備份_第3頁(yè)
rsync中文手冊(cè),使用rsync實(shí)現(xiàn)網(wǎng)站鏡像和備份_第4頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、rsync 中文手冊(cè),使用 rsync 實(shí)現(xiàn)網(wǎng)站鏡像和備份份簡(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è)值得討論的話題。通過(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)程備份和

2、鏡象工具-rsync ,它可以滿足絕大多數(shù)要求不是特別嚴(yán)格的備份需求。rsync 是類 unix 系統(tǒng)下的數(shù)據(jù)鏡像備份工具,從軟件的命名上就可以看出來(lái)了 remote sync 。它的特性如下 :可以鏡像保存整個(gè)目錄樹和文件系統(tǒng)??梢院苋菀鬃龅奖3衷瓉?lái)文件的權(quán)限、時(shí)間、軟硬鏈接等等。無(wú)須特殊權(quán)限即可安裝。優(yōu)化的流程,文件傳輸效率高??梢允褂胷cp 、ssh 等方式來(lái)傳輸文件,當(dāng)然也可以通過(guò)直接的支持匿名傳輸,以方便進(jìn)行網(wǎng)站鏡象。軟件下載rysnc 的主頁(yè)地址為 :socket連接。目前最新版本為??梢赃x擇從原始網(wǎng)站下載:。編譯安裝rsync的編譯安裝非常簡(jiǎn)單,只需要以下簡(jiǎn)單的幾步:但是需要注意

3、的是必須在服務(wù)器A 和 B 上都安裝rsync ,其中 A 服務(wù)器上是以服務(wù)器模式運(yùn)行rsync ,而B 上則以客戶端方式運(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)行:daemon即可啟動(dòng)。 rsync 默認(rèn)服務(wù)端口為 873,服務(wù)器在該端口接收客戶的匿名或者認(rèn)證方式的備份請(qǐng)求。如果要在啟動(dòng)時(shí)把服務(wù)起來(lái),有幾種不同的方法,比如:a、加入 inetd.conf編輯 /etc/serv

4、ices /etc/inetd.conf,加入,加入rsync 873/tcp ,指定rsync的服務(wù)端口是rsync stream tcp nowait root /bin/rsync rsync873。編加daemon注: 對(duì)于 xinetd ,設(shè)置方法類似。b、加入 rc.local編輯 /etc/rc.d/rc.local,在最后添加 :/usr/local/bin/rsyncdaemon2、rsync 的配置對(duì)于 rsync 服務(wù)器來(lái)說(shuō),最重要和復(fù)雜的就是它的配置了。rsync服務(wù)器的配置文件為 /etc/rsyncd.conf,其控制認(rèn)證、訪問(wèn)、日志記錄等等。該文件是由一個(gè)或多個(gè)模

5、塊結(jié)構(gòu)組成。一個(gè)模塊定義以方括弧中的模塊名開始,直到下一個(gè)模塊定義開始或者文件結(jié)束,模塊中包含格式為name = value的參數(shù)定義。 每個(gè)模塊其實(shí)就對(duì)應(yīng)需要備份的一個(gè)目錄樹,比方說(shuō)在我們的實(shí)例環(huán)境中,有三個(gè)目錄樹需要備份 :/www/ 、 /home/web_user1/ 和/home/web_user2/ ,那么就需要在配置文件中定義三個(gè)模塊,分別對(duì)應(yīng)三個(gè)目錄樹。配置文件是行為單位的,也就是每個(gè)新行都表示一個(gè)新的注釋、模塊定義或者參數(shù)賦值。以 #開始的行表示注釋,以” ”結(jié)束的行表示下面一行是該行的繼續(xù)。參數(shù)賦值中等號(hào)后可能是一個(gè)大小寫不敏感的字符串、一個(gè)以 trure/false表示的

6、布爾值。全局參數(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“l(fā)og file”指定rsync 的日志文件,而不將日志發(fā)送給syslog 。pid file指定 rsync的 pid 文件。syslog facility指定 rsync 發(fā)送日志消息給 syslog 時(shí)的消息級(jí)別,常見(jiàn)的消息級(jí)別是 :uth, authpriv, cron, daemon,

7、 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ù)是必須指定的。use chroot如果” use chroot ”指定為true ,那么 rsync 在傳輸文件

8、以前首先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è)定是否允許客戶上載文件。如果為true 那么任何上載請(qǐng)求都會(huì)失敗,如果為 false 并且服務(wù)器目錄讀寫

9、權(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è)由空格隔開的多個(gè)模式列表,并將其添加到 exclude 列表中。 這等同于在客戶端命令中使用 exclude來(lái)指定模式,不過(guò)配置文件中指定的exl

10、ude模式不會(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è)由空格隔開的多個(gè)rsync 并應(yīng)該 exlude的模式列表。這等同于在客戶端命令中使用 include來(lái)指定模式, 結(jié)合 inclu

11、de和 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)系。如果”authusers ”被設(shè)置,那么客戶端發(fā)出對(duì)該模塊的連接請(qǐng)求以后會(huì)被rsync請(qǐng)求 challenged進(jìn)行驗(yàn)證身份這里使用的 challenge/resp

12、onse認(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ù)器運(yùn)行

13、身份的用戶訪問(wèn), 其他任何用戶不可以訪問(wèn)該文件。 默認(rèn)值為 true 。hosts allow該選項(xiàng)指定哪些IP 的客戶允許連接該模塊??蛻裟J蕉x可以是以下形式:,客戶主機(jī)只有完全匹配該IP 才允許訪問(wèn)。例如,屬于該網(wǎng)絡(luò)的客戶都允許連接該模塊。例如,屬于該網(wǎng)絡(luò)的客戶都允許連接該模塊。例如o 一個(gè)主機(jī)名,客戶主機(jī)只有擁有該主機(jī)名才允許訪問(wèn),例如。,所有屬于該域的主機(jī)都允許。默認(rèn)是允許所有主機(jī)連接。hosts deny指定不允許連接 rsync 服務(wù)器的機(jī)器, 可以使用 hosts allow 的定義方式來(lái)進(jìn)行定義。默認(rèn)是沒(méi)有 hosts deny 定義。ignore errors指定 rsyn

14、cd 在判斷是否運(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使 rsync 服務(wù)器使用 ftp 格式的文件來(lái)記錄下載和上載操作在自己?jiǎn)为?dú)的日志中。log format通過(guò)該選項(xiàng)用戶在使用transfer logging可以自己定制日志文件的字段。其格式是一個(gè)

15、包含格式定義符的字符串,可以使用的格式定義符如下所示:o %h 遠(yuǎn)程主機(jī)名o %a 遠(yuǎn)程IP 地址o %l 文件長(zhǎng)度字符數(shù)o %p 該次rsync 會(huì)話的進(jìn)程ido %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 格式為 : ”%o %h %a %m (%u) %f %l ”,一般來(lái)說(shuō) , 在每行的頭上會(huì)添加” %t %p “。在源代碼中同時(shí)發(fā)布有一個(gè)叫rsyncstats的 perl腳本程序

16、來(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ò)誤信息然后退出。如果要防止使用壓縮,應(yīng)該是: ”dont compress = * ”。dont compress用來(lái)指定那些不進(jìn)行壓縮處理再傳輸?shù)奈募J(rèn)值是*.gz *.

17、tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbzrsync 客戶命令在對(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:DESTrsync OPTION USERHOST:SRC DESTrsync OPTION SRC SRC DESTrsync OPTION USERHOST:SRC DEST

18、rsync OPTION SRC SRC USERHOST:DESTrsync 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)程 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)程

19、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 目錄下。如果任何文件已經(jīng)存在于遠(yuǎn)程系統(tǒng), 則會(huì)調(diào)用遠(yuǎn)程更新協(xié)議來(lái)實(shí)現(xiàn)僅僅傳輸那些更新過(guò)的文件。rsy

20、nc -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 ,如果SRC和 DST路徑中都沒(méi)有任何” : ”符號(hào)則表示該命令運(yùn)

21、行在本地模式,等同于cp 命令。這種模式則將會(huì)列出可以訪問(wèn)的所有模塊信息。選項(xiàng)說(shuō)明-v,verbose 詳細(xì)模式輸出-q,quiet精簡(jiǎn)輸出模式-c,checksum 打開校驗(yàn)開關(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文件,而如果使用 -R參數(shù) :rsync -R foo/bar/foo.c remote:/tmp/則會(huì)創(chuàng)建文件 /tm

22、p/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,links保留軟鏈結(jié)-L,copy-links 想對(duì)待常規(guī)文件一樣處理軟鏈結(jié)copy-unsafe-links僅僅拷貝指向SRC

23、路徑目錄樹以外的鏈結(jié)safe-links忽略指向SRC路徑目錄樹以外的鏈結(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-file拷貝文件,不進(jìn)行增量檢測(cè)-x,one-file-system不要跨越文件系統(tǒng)邊界-B,block-size=SIZE 檢驗(yàn)算法使用的塊尺寸,默認(rèn)是700 字節(jié)-e,rsh=COMMAND指定替代 r

24、sh的 shell程序rsync-path=PATH 指定遠(yuǎn)程服務(wù)器上的rsync命令所在路徑信息-C,cvs-exclude 使用和 CVS一樣的方法自動(dòng)忽略文件,用來(lái)排除那些不希望傳輸?shù)奈募xisting 僅僅更新那些已經(jīng)存在于DST的文件,而不備份那些新創(chuàng)建的文件delete 刪除那些 DST中 SRC沒(méi)有的文件delete-excluded 同樣刪除接收端那些被該選項(xiàng)指定排除的文件delete-after傳輸結(jié)束以后再刪除ignore-errors及時(shí)出現(xiàn)IO 錯(cuò)誤也進(jìn)行刪除max-delete=NUM 最多刪除NUM個(gè)文件partial 保留那些因故沒(méi)有完全傳輸?shù)奈募?,以是加快隨后

25、的再次傳輸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-window=NUM 決定文件是否時(shí)間相同時(shí)使用的時(shí)間戳窗口,默認(rèn)為0-T temp-dir=DIR在 DIR 中創(chuàng)建臨時(shí)文件compare-dest=DIR 同樣比較 DIR 中的文件來(lái)決定是否需要備份-P 等同于 partialprogress 顯示備份過(guò)程-z,compress

26、對(duì)備份的文件在傳輸時(shí)進(jìn)行壓縮處理exclude=PATTERN指定排除不需要傳輸?shù)奈募J絠nclude=PATTERN 指定不排除而需要傳輸?shù)奈募J絜xclude-from=FILE 排除 FILE 中指定模式的文件include-from=FILE 不排除 FILE 指定模式匹配的文件version 打印版本信息address 綁定到特定的地址config=FILE指定其他的配置文件,不使用默認(rèn)的port=PORT 指定其他的rsync 服務(wù)端口rsyncd.conf文件blocking-io 對(duì)遠(yuǎn)程 shell 使用阻塞 IO -stats 給出某些文件的傳輸狀態(tài)progress 在傳

27、輸時(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ù)器 :A 和 B。其中 A 是主 web 服務(wù)器,具有域名,B服務(wù)器是備份機(jī),其域名為。其中A 的 web 內(nèi)容存放在以下幾個(gè)地方 : /www/ 和 /home/web_user1/ 和/home/web_user2/ 。我們需要在備份機(jī)B上建立對(duì)這幾個(gè)目錄內(nèi)容的備份。服務(wù)器配置實(shí)例那么在上創(chuàng)建rsyncd的配置文件/etc/

28、rsyncd.conf,內(nèi)容如下 :uid = nobodygid = nobodyuse chroot = nomax connections = 4pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.logwwwpath = /www/ignore errorsread only = truelist = falseauth users = backupsecrets file = /etc/backserver.pasweb_user1path = /home/we

29、b_user1/ignore errorsread only = truelist = falseuid = web_user1gid = web_user1auth users = backupsecrets file = /etc/backserver.pasweb_user2path = /home/web_user2/ignore errorsread only = truelist = falseuid = web_user2gid = web_user2auth users = backupsecrets file = /etc/backserver.pas這里定義有四個(gè)三個(gè)模塊,

30、分別對(duì)應(yīng)于三個(gè)需要備份的目錄樹。這里只允許備份本機(jī)的數(shù)據(jù),并且需要認(rèn)證。三個(gè)模塊授權(quán)的備份用戶都為backup,并且用戶信息保存在文件/etc/backserver.pas中,其內(nèi)容如下 :backup:bk_passwd并且該文件只能是 root 用戶可讀寫的, 否則 rsyncd 啟動(dòng)時(shí)會(huì)出錯(cuò)。 這些文件配置完畢以后,就需要在 A 服務(wù)器上啟動(dòng) rsyncd 服務(wù)器 :rsyncdaemon客戶命令示例/usr/local/bin/rsync -vzrtopgdeleteexclude“l(fā)ogs/ ” exclude“conf/ssl.*/ ” password-file=/etc/rsy

31、nc.pass上面這個(gè)命令行中 -vzrtopg里的 v 是 verbose , z 是壓縮, r 是 recursive , topg都是保持文件原有屬性如屬主、時(shí)間的參數(shù)。progress 是指顯示出詳細(xì)的進(jìn)度情況, delete 是指如果服務(wù)器端刪除了這一文件,那么客戶端也相應(yīng)把文件刪除,保持真正的一致。exclude “l(fā)ogs/ ” 表示不對(duì) /www/logs目錄下的文件進(jìn)行備份。 exclude“conf/ssl.*/ ”表示不對(duì) /www/conf/ssl.*/目錄下的文件進(jìn)行備份。backup20:www 表示對(duì)該命令是對(duì)服務(wù)器20

32、中的 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/local/bin/rsync -vzrtopgdeleteexclude“l(fā)ogs/ ” exclude “conf/ssl.*/ ” password-file=/etc/rsync.passreceiving

33、file list./1785 (100%)1.py4086 (100%)2.py10680 (100%)a0 (100%)ip3956 (100%)./ donewrote 2900 bytes read 145499 bytes 576.34 bytes/sec total size is 2374927 speedup is 45.34對(duì)其它兩個(gè)模塊操作的命令分別為:/usr/local/bin/rsync -vzrtopgdeleteprogresspassword-file=/etc/rsync.pass/usr/local/bin/rsync -vzrtopgdeleteprogr

34、esspassword-file=/etc/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 name

35、d after the day of the week, and the current# full backup goes into a directory called“current ”# directory to backup BDIR=/home/$USER# excludes file - this contains a wildcard pattern per line of files to excludeEXCLUDES=$HOME/cron/excludes# the name of the backup machineBSERVER=owl# your password

36、on the backup server export RSYNC_PASSWORD=XXXXXX#BACKUPDIR=date +%AOPTS=” forceignore-errorsdelete-excludedexclude-from=$EXCLUDESdelete backup backup-dir=/$BACKUPDIR -a ”export PATH=$PATH:/bin:/usr/bin:/usr/local/bin# the following line clears the last weeks incremental directory -d $HOME/emptydir

37、| mkdir $HOME/emptydirrsync delete -a $HOME/emptydir/ $BSERVER:$USER/$BACKUPDIR/ rmdir $HOME/emptydir# now the actual transferrsync $OPTS $BDIR $BSERVER:$USER/current2、備份至一個(gè)空閑的硬盤#!/bin/shexport PATH=/usr/local/bin:/usr/bin:/binLIST=”rootfs usr data data2for d in $LIST; domount /backup/$drsync -ax ex

38、clude fstab delete /$d/ /backup/$d/ umount /backup/$ddoneDAY=date “+%A”rsync -a delete /usr/local/apache /data2/backups/$DAY rsync -a delete /data/solid /data2/backups/$DAY3、對(duì)的 cvs 樹進(jìn)行鏡像#!/bin/bashcd /var/www/cvs/vger/PATH=/usr/local/bin:/usr/freeware/bin:/usr/bin:/binRUN=lps x | grep rsync | grep -

39、v grep | wc -lif “$RUN” -gt 0 ; thenecho already runningexit 1fisum1=sum $HOME/ChangeLogsum2=sum /var/www/cvs/vger/CVSROOT/ChangeLogif “$sum1 = “$sum2 ; thenecho nothing to doexit 0firsync -az delete FAQQ:如何通過(guò)ssh 進(jìn)行 rsync ,而且無(wú)須輸入密碼?A: 可以通過(guò)以下幾個(gè)步驟1.通過(guò) ssh-keygen 在 serverA 上建立 SSH keys,不要指定密碼, 你會(huì)在 /.ssh下看到 identity和 identity.pub文件2.在 server B 上的 home目錄建立子目錄 .ssh3.將 A 的 identity.pub拷貝到 server B 上4.將 identity.pub加到 user b/.ssh/au

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論