




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Rsync本來是用于替代rcp的一個(gè)工具,目前由維護(hù),所以rsync.conf文件的格式類似于samba的 主配置文件。Rsync可以通過rsh或ssh使用,也能以daemon模式去運(yùn)行,在以daemon方式運(yùn)行時(shí)Rsync server會(huì)打開一個(gè)873端口,等待客戶端去連接。連接時(shí),Rsync server會(huì)檢查口令是否相符,若通過口令查核,則可以開始進(jìn)行文件傳輸。第一次連通完成時(shí),會(huì)把整份文件傳輸一次,以后則就只需進(jìn)行增量備份。 Rsync支持大多數(shù)的類Unix系統(tǒng),無論是Linux、Solaris還是BSD上都經(jīng)過了良好的測(cè)試。此外,它在windo
2、ws平臺(tái)下也有相應(yīng)的版本,如cwRsync和Sync2NAS等工具。 Rsync的基本特點(diǎn)如下: 1.可以鏡像保存整個(gè)目錄樹和文件系統(tǒng); 2.可以很容易做到保持原來文件的權(quán)限、時(shí)間、軟硬鏈接等; 3.無須特殊權(quán)限即可安裝; 4.優(yōu)化的流程,文件傳輸效率高; 5.可以使用rsh、ssh等方式來傳輸文件,當(dāng)然也可以通過直接的socket連接; 6.支持匿名傳輸。 2、Rsync同步算法 Rsync只所以同步文件的速度相當(dāng)快,是因?yàn)椤癛sync同步算法”能在很短的時(shí)間內(nèi)計(jì)算出需要備份的數(shù)據(jù),關(guān)于Rsync的同步
3、算法描述如下: 假定在1號(hào)和2號(hào)兩臺(tái)計(jì)算機(jī)之間同步相似的文件A與B,其中1號(hào)對(duì)文件A擁有訪問權(quán),2號(hào)對(duì)文件B擁有訪問權(quán)。并且假定主機(jī)1號(hào)與2號(hào)之間的網(wǎng)絡(luò)帶寬很小。那么rsync算法將通過下面的五個(gè)步驟來完成: 1、2號(hào)將文件B分割成一組不重疊的固定大小為S字節(jié)的數(shù)據(jù)塊,最后一塊可能會(huì)比S 小。 2、2號(hào)對(duì)每一個(gè)分割好的數(shù)據(jù)塊執(zhí)行兩種校驗(yàn):一種是32位的滾動(dòng)弱校驗(yàn),另一種是128位的MD4強(qiáng)校驗(yàn) 3、2號(hào)將這些校驗(yàn)結(jié)果發(fā)給1號(hào)。 4、1號(hào)通過搜索文件A的所有大小為S的數(shù)據(jù)塊(偏移量可以任選,不一定非要是S的倍數(shù)),來尋找與文件B的某一塊有著相同的
4、弱校驗(yàn)碼和強(qiáng)校驗(yàn)碼的數(shù)據(jù)塊。這項(xiàng)工作可以借助滾動(dòng)校驗(yàn)的特性很快完成。 5、1號(hào)發(fā)給2號(hào)一串指令來生成文件A在2號(hào)上的備份。這里的每一條指令要么是對(duì)文件B經(jīng)擁有某一個(gè)數(shù)據(jù)塊而不須重傳的證明,要么是一個(gè)數(shù)據(jù)塊,這個(gè)數(shù)據(jù)塊肯定是沒有與文件B的任何一個(gè)數(shù)據(jù)塊匹配上的。 3、Rsync參數(shù)說明 3.1 rsyncd.conf配置文件 、全局參數(shù) 在文件中module之前的所有參數(shù)都是全局參數(shù),當(dāng)然也可以在全局參數(shù)部分定義模塊參數(shù),這時(shí)候該參數(shù)的值就是所有模塊的默認(rèn)值。 port 指定后臺(tái)程序使用的端口號(hào),默認(rèn)為873。 mo
5、td file "motd file"參數(shù)用來指定一個(gè)消息文件,當(dāng)客戶連接服務(wù)器時(shí)該文件的內(nèi)容顯示給客戶,默認(rèn)是沒有motd文件的。 log file "log file"指定rsync的日志文件,而不將日志發(fā)送給syslog。比如可指定為“/var/log/rsyncd.log”。 pid file 指定rsync的pid文件,通常指定為“/var/run/rsyncd.pid”。 syslog facility 指 定rsync發(fā)送日志消息給syslog時(shí)的消息級(jí)別,常見的消息級(jí)別
6、是: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ù) 主要是定義服務(wù)器哪個(gè)目錄要被同步。其格式必須為“module”形式,這個(gè)名字就是在rsync 客戶端看到的名字,其實(shí)有點(diǎn)象Samba服務(wù)器提供的共享名。而服務(wù)器真正同步的數(shù)據(jù)是通過 path 來指定的。我們可以根據(jù)自己的需要,來指定多個(gè)模塊
7、,模塊中可以定義以下參數(shù): comment 給模塊指定一個(gè)描述,該描述連同模塊名在客戶連接得到模塊列表時(shí)顯示給客戶。默認(rèn)沒有描述定義。 path 指定該模塊的供備份的目錄樹路徑,該參數(shù)是必須指定的。 use chroot 如 果"use chroot"指定為true,那么rsync在傳輸文件以前首先chroot到path參數(shù)所指定的目錄下。這樣做的原因是實(shí)現(xiàn)額外的安全防護(hù),但是缺 點(diǎn)是需要以roots權(quán)限,并且不能備份指向外部的符號(hào)連接所指向的目錄文件。默認(rèn)情況下chroot值為true。 uid
8、0;該選項(xiàng)指定當(dāng)該模塊傳輸文件時(shí)守護(hù)進(jìn)程應(yīng)該具有的uid,配合gid選項(xiàng)使用可以確定哪些可以訪問怎么樣的文件權(quán)限,默認(rèn)值是"nobody"。 gid 該選項(xiàng)指定當(dāng)該模塊傳輸文件時(shí)守護(hù)進(jìn)程應(yīng)該具有的gid。默認(rèn)值為"nobody"。 max connections 指定該模塊的最大并發(fā)連接數(shù)量以保護(hù)服務(wù)器,超過限制的連接請(qǐng)求將被告知隨后再試。默認(rèn)值是0,也就是沒有限制。 list 該選項(xiàng)設(shè)定當(dāng)客戶請(qǐng)求可以使用的模塊列表時(shí),該模塊是否應(yīng)該被列出。如果設(shè)置該選項(xiàng)為false,可以創(chuàng)建隱藏的模塊。默認(rèn)值
9、是true。 read only 該選項(xiàng)設(shè)定是否允許客戶上載文件。如果為true那么任何上載請(qǐng)求都會(huì)失敗,如果為false并且服務(wù)器目錄讀寫權(quán)限允許那么上載是允許的。默認(rèn)值為true。 exclude 用來指定多個(gè)由空格隔開的多個(gè)文件或目錄(相對(duì)路徑),并將其添加到exclude列表中。這等同于在客戶端命令中使用-exclude來指定 模式,一個(gè)模塊只能指定一個(gè)exclude選項(xiàng)。但是需要注意的一點(diǎn)是該選項(xiàng)有一定的安全性問題,客戶很有可能繞過exclude列表,如果希望確保特定 的文件不能被訪問,那就最好結(jié)合uid/gid選項(xiàng)一起使用。 exc
10、lude from 指定一個(gè)包含exclude模式的定義的文件名,服務(wù)器從該文件中讀取exclude列表定義。 include 用來指定不排除符合要求的文件或目錄。這等同于在客戶端命令中使用-include來指定模式,結(jié)合include和exclude可以定義復(fù)雜的exclude/include規(guī)則。 include from 指定一個(gè)包含include模式的定義的文件名,服務(wù)器從該文件中讀取include列表定義。 auth users 該 選項(xiàng)指定由空格或逗號(hào)分隔的用戶名列表,只有這些用戶才允許連接該模塊。這里的用戶和系
11、統(tǒng)用戶沒有任何關(guān)系。如果"auth users"被設(shè)置,那么客戶端發(fā)出對(duì)該模塊的連接請(qǐng)求以后會(huì)被rsync請(qǐng)求challenged進(jìn)行驗(yàn)證身份這里使用的 challenge/response認(rèn)證協(xié)議。用戶的名和密碼以明文方式存放在"secrets file"選項(xiàng)指定的文件中。默認(rèn)情況下無需密碼就可以連接模塊(也就是匿名方式)。 secrets file 該 選項(xiàng)指定一個(gè)包含定義用戶名:密碼對(duì)的文件。只有在"auth users"被定義時(shí),該文件才有作用。文件每行包含一個(gè)username:passwd對(duì)。一般來說密碼
12、最好不要超過8個(gè)字符。沒有默認(rèn)的 secures file名,需要限式指定一個(gè)(例如:/etc/rsyncd.passwd)。注意:該文件的權(quán)限一定要是600,否則客戶端將不能連接服務(wù)器。 strict modes 該選項(xiàng)指定是否監(jiān)測(cè)密碼文件的權(quán)限,如果該選項(xiàng)值為true那么密碼文件只能被rsync服務(wù)器運(yùn)行身份的用戶訪問,其他任何用戶不可以訪問該文件。默認(rèn)值為true。 hosts allow 該選項(xiàng)指定哪些IP的客戶允許連接該模塊。客戶模式定義可以是以下形式: 單個(gè)IP地址,例如: 整個(gè)網(wǎng)段,例如:192.1
13、68.0.0/24,也可以是/ 多個(gè)IP或網(wǎng)段需要用空格隔開,“*”則表示所有,默認(rèn)是允許所有主機(jī)連接。 hosts deny 指定不允許連接rsync服務(wù)器的機(jī)器,可以使用hosts allow的定義方式來進(jìn)行定義。默認(rèn)是沒有hosts deny定義。 ignore errors 指定rsyncd在判斷是否運(yùn)行傳輸時(shí)的刪除操作時(shí)忽略server上的IO錯(cuò)誤,一般來說rsync在出現(xiàn)IO錯(cuò)誤時(shí)將將跳過-delete操作,以防止因?yàn)闀簳r(shí)的資源不足或其它IO錯(cuò)誤導(dǎo)致的嚴(yán)重問題。 ignore
14、 nonreadable 指定rysnc服務(wù)器完全忽略那些用戶沒有訪問權(quán)限的文件。這對(duì)于在需要備份的目錄中有些文件是不應(yīng)該被備份者得到的情況是有意義的。 lock file 指定支持max connections參數(shù)的鎖文件,默認(rèn)值是/var/run/rsyncd.lock。 transfer logging 使rsync服務(wù)器使用ftp格式的文件來記錄下載和上載操作在自己單獨(dú)的日志中。 log format 通過該選項(xiàng)用戶在使用transfer logging可以自己定制日志文件的字段。其格式是一個(gè)包含格式定義符的字符串,
15、可以使用的格式定義符如下所示: %h 遠(yuǎn)程主機(jī)名 %a 遠(yuǎn)程IP地址 %l 文件長度字符數(shù) %p 該次rsync會(huì)話的進(jìn)程id %o 操作類型:"send"或"recv" %f 文件名 %P 模塊路徑 %m 模塊名 %t 當(dāng)前時(shí)間 %u 認(rèn)證的用戶名(匿名時(shí)是null) %b 實(shí)際傳輸?shù)淖止?jié)數(shù) %c 當(dāng)發(fā)送文件時(shí),該字段記錄該文件的校驗(yàn)碼 默認(rèn)log格式為:"%o %h %a %m (%u) %f %l",
16、一般來說,在每行的頭上會(huì)添加"%t %p "。在源代碼中同時(shí)發(fā)布有一個(gè)叫rsyncstats的perl腳本程序來統(tǒng)計(jì)這種格式的日志文件。 timeout 通過該選項(xiàng)可以覆蓋客戶指定的IP超時(shí)時(shí)間。通過該選項(xiàng)可以確保rsync服務(wù)器不會(huì)永遠(yuǎn)等待一個(gè)崩潰的客戶端。超時(shí)單位為秒鐘,0表示沒有超時(shí)定義,這也是默認(rèn)值。對(duì)于匿名rsync服務(wù)器來說,一個(gè)理想的數(shù)字是600。 refuse options 通過該選項(xiàng)可以定義一些不允許客戶對(duì)該模塊使用的命令參數(shù)列表。這里必須使用命令全名,而不能是簡稱。但發(fā)生拒絕某個(gè)命令的情況時(shí)服務(wù)器將報(bào)告錯(cuò)誤信息然
17、后退出。如果要防止使用壓縮,應(yīng)該是:"dont compress = *"。 dont compress 用來指定那些不進(jìn)行壓縮處理再傳輸?shù)奈募?,默認(rèn)值是*.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz 3.2 Rsync命令 在對(duì)rsync服務(wù)器配置結(jié)束以后,下一步就需要在客戶端發(fā)出rsync命令來實(shí)現(xiàn)將服務(wù)器端的文件備份到客戶端來。rsync是一個(gè)功能非常強(qiáng)大的工具,其命令也有很多功能特色選項(xiàng),我們下面就對(duì)它的選項(xiàng)一一進(jìn)行分析說明。 Rsync的命令格式可以為以下六種:
18、 rsync OPTION. SRC DEST rsync OPTION. SRC USERHOST:DEST rsync OPTION. USERHOST:SRC DEST rsync OPTION. USERHOST:SRC DEST rsync OPTION. SRC USERHOST:DEST rsync OPTION. rsync:/USERHOST:PORT/SRC DEST 對(duì)應(yīng)于以上六種命令格式,rsync有六種不同的工作模式: 1)拷貝本地文件。當(dāng)SRC和DES路徑信息都不包含有單個(gè)冒號(hào)"
19、;:"分隔符時(shí)就啟動(dòng)這種工作模式。如:rsync -a /data /backup 2)使用一個(gè)遠(yuǎn)程shell程序(如rsh、ssh)來實(shí)現(xiàn)將本地機(jī)器的內(nèi)容拷貝到遠(yuǎn)程機(jī)器。當(dāng)DST路徑地址包含單個(gè)冒號(hào)":"分隔符時(shí)啟動(dòng)該模式。如:rsync -avz *.c foo:src 3)使用一個(gè)遠(yuǎn)程shell程序(如rsh、ssh)來實(shí)現(xiàn)將遠(yuǎn)程機(jī)器的內(nèi)容拷貝到本地機(jī)器。當(dāng)SRC地址路徑包含單個(gè)冒號(hào)":"分隔符時(shí)啟動(dòng)該模式。如:rsync -avz foo:src/bar /data4)從遠(yuǎn)程rsync服務(wù)器中拷貝文件到本地機(jī)。當(dāng)SR
20、C路徑信息包含":"分隔符時(shí)啟動(dòng)該模式。如:rsync -av root92:www /databack 5)從本地機(jī)器拷貝文件到遠(yuǎn)程rsync服務(wù)器中。當(dāng)DST路徑信息包含":"分隔符時(shí)啟動(dòng)該模式。如:rsync -av /databack root92:www 6)列遠(yuǎn)程機(jī)的文件列表。這類似于rsync傳輸,不過只要在命令中省略掉本地機(jī)信息即可。如:rsync -v rsync:/92/www rsync參數(shù)的具體解釋如下: -v, -verbo
21、se 詳細(xì)模式輸出 -q, -quiet 精簡輸出模式 -c, -checksum 打開校驗(yàn)開關(guān),強(qiáng)制對(duì)文件傳輸進(jìn)行校驗(yàn) -a, -archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD-r, -recursive 對(duì)子目錄以遞歸模式處理 -R, -relative 使用相對(duì)路徑信息 -b, -backup 創(chuàng)建備份,也就是對(duì)于目的已經(jīng)存在有同樣的文件名時(shí),將老的文件重新命名為filename??梢允褂?suffix選項(xiàng)來指定不同的備份文件前綴。 -backup-dir 將備份文件(如filenam
22、e)存放在在目錄下。 -suffix=SUFFIX 定義備份文件前綴 -u, -update 僅僅進(jìn)行更新,也就是跳過所有已經(jīng)存在于DST,并且文件時(shí)間晚于要備份的文件。(不覆蓋更新的文件) -l, -links 保留軟鏈結(jié) -L, -copy-links 想對(duì)待常規(guī)文件一樣處理軟鏈結(jié) -copy-unsafe-links 僅僅拷貝指向SRC路徑目錄樹以外的鏈結(jié) -safe-links 忽略指向SRC路徑目錄樹以外的鏈結(jié) -H, -hard-links 保留硬鏈結(jié) -p, -perms 保持文件權(quán)限 -o
23、, -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
24、指定使用rsh、ssh方式進(jìn)行數(shù)據(jù)同步 -rsync-path=PATH 指定遠(yuǎn)程服務(wù)器上的rsync命令所在路徑信息 -C, -cvs-exclude 使用和CVS一樣的方法自動(dòng)忽略文件,用來排除那些不希望傳輸?shù)奈募?#160;-existing 僅僅更新那些已經(jīng)存在于DST的文件,而不備份那些新創(chuàng)建的文件 -delete 刪除那些DST中SRC沒有的文件 -delete-excluded 同樣刪除接收端那些被該選項(xiàng)指定排除的文件 -delete-after 傳輸結(jié)束以后再刪除 -ignore-errors 及時(shí)出現(xiàn)IO錯(cuò)誤也進(jìn)行刪
25、除 -max-delete=NUM 最多刪除NUM個(gè)文件 -partial 保留那些因故沒有完全傳輸?shù)奈募?,以是加快隨后的再次傳輸 -force 強(qiáng)制刪除目錄,即使不為空 -numeric-ids 不將數(shù)字的用戶和組ID匹配為用戶名和組名 -timeout=TIME IP超時(shí)時(shí)間,單位為秒 -I, -ignore-times 不跳過那些有同樣的時(shí)間和長度的文件 -size-only 當(dāng)決定是否要備份文件時(shí),僅僅察看文件大小而不考慮文件時(shí)間 -modify-window=NUM 決定文件是否時(shí)間相同時(shí)使用的時(shí)間戳窗口
26、,默認(rèn)為0 -T -temp-dir=DIR 在DIR中創(chuàng)建臨時(shí)文件 -compare-dest=DIR 同樣比較DIR中的文件來決定是否需要備份 -P 等同于 -partial -progress 顯示備份過程 -z, -compress 對(duì)備份的文件在傳輸時(shí)進(jìn)行壓縮處理 -exclude=PATTERN 指定排除不需要傳輸?shù)奈募J?#160;-include=PATTERN 指定不排除而需要傳輸?shù)奈募J?#160;-exclude-from=FILE 排除FILE中指定模式的文件 -include-from=FILE
27、 不排除FILE指定模式匹配的文件 -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í)傳輸過程 -log-format=formAT 指定日志文件格式 -password-file=FILE 從FILE中得到密碼 -b
28、wlimit=KBPS 限制I/O帶寬,KBytes per second -h, -help 顯示幫助信息 4、Rsync使用實(shí)例 4.1、SSH方式 1、首先在服務(wù)端啟動(dòng)ssh服務(wù): # service sshd start 啟動(dòng) sshd: 確定 2、使用rsync進(jìn)行同步 接下來就可以在客戶端使用rsync命令來備份服務(wù)端上的數(shù)據(jù)了,SSH方式是通過系統(tǒng)用戶來進(jìn)行備份的,如下: # rsync -vzrtopg -progress -e ssh -delete work92:
29、/www/* /databack/experiment/rsync work92's password: receiving file list . 5 files to consider test/ a 0 100% 0.00kB/s 527:35:41 (1, 20.0% of 5) b 67 100% 65.43kB/s 0:00:00 (2, 40.0% of 5) c 0 100% 0.00kB/s 527:35:41 (3, 60.0% of 5)
30、60;dd 100663296 100% 42.22MB/s 0:00:02 (4, 80.0% of 5) sent 96 bytes received 98190 bytes 11563.06 bytes/sec total size is 100663363 speedup is 1024.19 上面的信息描述了整個(gè)的備份過程,以及總共備份數(shù)據(jù)的大小。 4.2 、后臺(tái)服務(wù)方式 1、啟動(dòng)rsync服務(wù) 編輯/etc/xinetd.d/rsync文件,將其中的disable=yes改為disable=no,并重啟xinet
31、d服務(wù),如下: # vi /etc/xinetd.d/rsync #default: off # description: The rsync server is a good addition to an ftp server, as it # allows crc checksumming etc. service rsync disable = no socket_type = stream wait = no user = root server = /usr/bin/rs
32、ync server_args = -daemon log_on_failure += USERID # /etc/init.d/xinetd restart 停止 xinetd: 確定 啟動(dòng) xinetd: 確定 2、創(chuàng)建配置文件 默認(rèn)安裝好rsync程序后,并不會(huì)自動(dòng)創(chuàng)建rsync的主配置文件,需要手工來創(chuàng)建,其主配置文件為“/etc/rsyncd.conf”,創(chuàng)建該文件并插入如下內(nèi)容: # vi /etc/rsyncd.conf uid=root gid=root m
33、ax connections=4 log file=/var/log/rsyncd.log pid file=/var/run/rsyncd.pid lock file=/var/run/rsyncd.lock secrets file=/etc/rsyncd.passwd hosts deny=/22 www comment= backup web path=/www read only = no exclude=test auth users=work
34、0;3、創(chuàng)建密碼文件 采用這種方式不能使用系統(tǒng)用戶對(duì)客戶端進(jìn)行認(rèn)證,所以需要?jiǎng)?chuàng)建一個(gè)密碼文件,其格式為“username:password”,用戶名可以和密碼可以隨便定義,最好不要和系統(tǒng)帳戶一致,同時(shí)要把創(chuàng)建的密碼文件權(quán)限設(shè)置為600,這在前面的模塊參數(shù)做了詳細(xì)介紹。 # echo "work:abc123" > /etc/rsyncd.passwd # chmod 600 /etc/rsyncd.passwd 4、備份 完成以上工作,現(xiàn)在就可以對(duì)數(shù)據(jù)進(jìn)行備份了,如下: # rsync -avz -progr
35、ess -delete work92:www /databack/experiment/rsync Password: receiving file list . 6 files to consider ./ files. a 0 100% 0.00kB/s 528:20:41 (1, 50.0% of 6) b 67 100% 65.43kB/s 0:00:00 (2, 66.7% of 6) c 0 100% 0.00kB/s 528:20:41 (3, 83.3% o
36、f 6) dd 100663296 100% 37.49MB/s 0:00:02 (4, 100.0% of 6) sent 172 bytes received 98276 bytes 17899.64 bytes/sec total size is 150995011 speedup is 1533.75 5、恢復(fù) 當(dāng)服務(wù)器的數(shù)據(jù)出現(xiàn)問題時(shí),那么這時(shí)就需要通過客戶端的數(shù)據(jù)對(duì)服務(wù)端進(jìn)行恢復(fù),但前提是服務(wù)端允許客戶端有寫入權(quán)限,否則也不能在客戶端直接對(duì)服務(wù)端進(jìn)行恢復(fù),使用rsync對(duì)數(shù)據(jù)進(jìn)行恢復(fù)的方法如下: # rsync
37、-avz -progress /databack/experiment/rsync/ work92:www Password: building file list . 6 files to consider ./ a b 67 100% 0.00kB/s 0:00:00 (2, 66.7% of 6) c sent 258 bytes received 76 bytes 95.43 bytes/sec total size is 150995011 speedup is
38、452080.87 5、示例腳本 這里這些腳本都是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 day of the
39、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 backu
40、p machine BSERVER=owl # your password 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/
41、bin:/usr/local/bin # the following line clears the last weeks incremental directory -d $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/curr
42、ent 2、備份至一個(gè)空閑的硬盤 #!/bin/sh export PATH=/usr/local/bin:/usr/bin:/bin LIST="rootfs usr data data2" for d in $LIST; do mount /backup/$d rsync -ax -exclude fstab -delete /$d/ /backup/$d/ umount /backup/$d done DAY=date "+%A" rsyn
43、c -a -delete /usr/local/apache /data2/backups/$DAY rsync -a -delete /data/solid /data2/backups/$DAY 3、對(duì)的cvs樹進(jìn)行鏡像 #!/bin/bash cd /var/www/cvs/vger/ PATH=/usr/local/bin:/usr/freeware/bin:/usr/bin:/bin RUN=lps x | grep rsync | grep -v grep | wc -l if &
44、quot;$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 d
45、o exit 0 fi rsync -az -delete -force :cvs/ /var/www/cvs/vger/ exit 0 6、FAQ Q:如何通過ssh進(jìn)行rsync,而且無須輸入密碼? A:可以通過以下幾個(gè)步驟 1. 通過ssh-keygen在server A上建立SSH keys,不要指定密碼,你會(huì)在/.ssh下看到identity和identity.pub文件 2. 在server B上的home目錄建立子目錄.ssh 3. 將A的ident
46、ity.pub拷貝到server B上 4. 將identity.pub加到user b/.ssh/authorized_keys 5. 于是server A上的A用戶,可通過下面命令以用戶B ssh到server B上了 e.g. ssh -l userB serverB 這樣就使server A上的用戶A就可以ssh以用戶B的身份無需密碼登陸到server B上了。 Q:如何通過在不危害安全的情況下通過防火墻使用rsync? A:解答如下: 這通常有兩種情況,一種是服務(wù)器在防火墻內(nèi),一種是服務(wù)器在防火墻外。無論哪種情況,
47、通常還是使用ssh,這時(shí)最好新建一個(gè)備份用戶,并且配置 sshd僅允許這個(gè)用戶通過RSA認(rèn)證方式進(jìn)入。如果服務(wù)器在防火墻內(nèi),則最好限定客戶端的IP地址,拒絕其它所有連接。如果客戶機(jī)在防火墻內(nèi),則可以簡 單允許防火墻打開TCP端口22的ssh外發(fā)連接就ok了。 Q:我能將更改過或者刪除的文件也備份上來嗎? A:當(dāng)然可以: 你可以使用如:rsync -other -options -backupdir = ./backup-2000-2-13 .這樣的命令來實(shí)現(xiàn)。 這樣如果源文件:/path/to/some/file.c改變了,那么舊的文件就會(huì)被移到./ba
48、ckup-2000-2-13/path/to/some/file.c, 這里這個(gè)目錄需要自己手工建立起來 Q:我需要在防火墻上開放哪些端口以適應(yīng)rsync? A:視情況而定 rsync可以直接通過873端口的tcp連接傳文件,也可以通過22端口的ssh來進(jìn)行文件傳遞,但你也可以通過下列命令改變它的端口: rsync -port 8730 otherhost: 或者 rsync -e 'ssh -p 2002' otherhost: Q:我如何通過rsync只復(fù)制目錄結(jié)構(gòu),忽略掉文件呢? A
49、:rsync -av -include '*/' -exclude '*' source-dir dest-dir Q:為什么我總會(huì)出現(xiàn)"Read-only file system"的錯(cuò)誤呢? A:看看是否忘了設(shè)"read only = no"了 Q:為什么我會(huì)出現(xiàn)'ERROR: invalid gid'的錯(cuò)誤呢? A:rsync使用時(shí)默認(rèn)是用uid=nobody;gid=nobody來運(yùn)行的,如果你的系統(tǒng)不存在nobody組的話,就會(huì)出現(xiàn)這樣的錯(cuò)誤,可以試試gid
50、= nogroup或者其它 Q:綁定端口873失敗是怎么回事? A:如果你不是以root權(quán)限運(yùn)行這一守護(hù)進(jìn)程的話,因?yàn)?024端口以下是特權(quán)端口,會(huì)出現(xiàn)這樣的錯(cuò)誤。你可以用-port參數(shù)來改變。 Q:為什么我認(rèn)證失敗? A:從你的命令行看來: 你用的是: > bash$ rsync -a 13:test test > Password: > ERROR: auth failed on module test > > I dont unders
51、tand this. Can somebody explain as to how to acomplish this. > All suggestions are welcome. 應(yīng)該是沒有以你的用戶名登陸導(dǎo)致的問題,試試rsync -a max13:test testRsync命令參數(shù)詳解 在對(duì)rsync服務(wù)器配置結(jié)束以后,下一步就需要在客戶端發(fā)出rsync命令來實(shí)現(xiàn)將服務(wù)器端的文件備份到客戶端
52、來。rsync是一個(gè)功能非常強(qiáng)大的工具,其命令也有很多功能特色選項(xiàng),我們下面就對(duì)它的選項(xiàng)一一進(jìn)行分析說明。Rsync的命令格式可以為以下六種:rsync OPTION. SRC DESTrsync OPTION. SRC USERHOST:DESTrsync OPTION. USERHOST:SRC DESTrsync OPTION. USERHOST:SRC DESTrsync OPTION. SRC USERHOST:DESTrsync OPTION. rsync:/USERHOST:PORT/SRC DEST對(duì)應(yīng)于以上六種命令格式,rsync有六種不同的工作模式:1)拷貝本地文件。當(dāng)SR
53、C和DES路徑信息都不包含有單個(gè)冒號(hào)":"分隔符時(shí)就啟動(dòng)這種工作模式。如:rsync -a /data /backup2)使用一個(gè)遠(yuǎn)程shell程序(如rsh、ssh)來實(shí)現(xiàn)將本地機(jī)器的內(nèi)容拷貝到遠(yuǎn)程機(jī)器。當(dāng)DST路徑地址包含單個(gè)冒號(hào)":"分隔符時(shí)啟動(dòng)該模式。如:rsync -avz *.c foo:src3)使用一個(gè)遠(yuǎn)程shell程序(如rsh、ssh)來實(shí)現(xiàn)將遠(yuǎn)程機(jī)器的內(nèi)容拷貝到本地機(jī)器。當(dāng)SRC地址路徑包含單個(gè)冒號(hào)":"分隔符時(shí)啟動(dòng)該模式。如:rsync -avz foo:src/bar /data4)從遠(yuǎn)程rsync服務(wù)器中拷
54、貝文件到本地機(jī)。當(dāng)SRC路徑信息包含":"分隔符時(shí)啟動(dòng)該模式。如:rsync -av root92:www /databack5)從本地機(jī)器拷貝文件到遠(yuǎn)程rsync服務(wù)器中。當(dāng)DST路徑信息包含":"分隔符時(shí)啟動(dòng)該模式。如:rsync -av /databack root92:www6)列遠(yuǎn)程機(jī)的文件列表。這類似于rsync傳輸,不過只要在命令中省略掉本地機(jī)信息即可。如:rsync -v rsync:/92/wwwrsync參數(shù)的具體解釋如下:-v, -verbose 詳細(xì)模式輸出-q, -q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 品牌口碑提升計(jì)劃
- 創(chuàng)新思維與解決方案探討計(jì)劃
- 《四川省木里縣灰?guī)r山金礦普查實(shí)施方案》評(píng)審意見書
- 2025年美術(shù)元宵燈會(huì)標(biāo)準(zhǔn)教案
- 三年級(jí)數(shù)學(xué)下冊(cè)7小數(shù)的初步認(rèn)識(shí)教學(xué)反思二新人教版
- 健康保險(xiǎn)類知識(shí)培訓(xùn)課件
- 2025年山西道路貨運(yùn)從業(yè)資格證考試
- 2025年甘肅貨運(yùn)從業(yè)資格證模擬考試試題答案
- 人教版八年級(jí)歷史與社會(huì)下冊(cè)教學(xué)設(shè)計(jì):5.1.3《農(nóng)耕文明的繁盛》
- 2025年巢湖道路運(yùn)輸從業(yè)資格證
- 典型火災(zāi)案例及消防安全知識(shí)專題培訓(xùn)
- 雪鐵龍DS6保養(yǎng)手冊(cè)
- 廣東省廣州市海珠區(qū)南武小學(xué)2023-2024學(xué)年三年級(jí)下學(xué)期3月期中語文試題
- 金融糾紛調(diào)解培訓(xùn)課件模板
- 高速公路日常保潔管理管理標(biāo)準(zhǔn)化方案
- 村(社區(qū))“兩委”班子五年任期規(guī)劃和2024年工作目標(biāo)10篇
- 《皮內(nèi)注射技術(shù)》課件
- 三年級(jí)下冊(cè)口算天天100題(A4打印版)
- 部編版初中語文文言文對(duì)比閱讀 九年級(jí)下冊(cè)(下)(解析版)
- 停電計(jì)劃現(xiàn)場(chǎng)勘查培訓(xùn)課件
- 變電運(yùn)維講安全
評(píng)論
0/150
提交評(píng)論