如何在rsync中實(shí)現(xiàn)斷點(diǎn)續(xù)傳
在進(jìn)行大文件復(fù)制時(shí),由于網(wǎng)絡(luò)的不穩(wěn)定性,經(jīng)常會(huì)出現(xiàn)服務(wù)器無法響應(yīng)的情況。為了解決這個(gè)問題,我們可以使用rsync工具來實(shí)現(xiàn)斷點(diǎn)續(xù)傳功能。 rsync工作模式 rsync有六種不同的工作模式:
在進(jìn)行大文件復(fù)制時(shí),由于網(wǎng)絡(luò)的不穩(wěn)定性,經(jīng)常會(huì)出現(xiàn)服務(wù)器無法響應(yīng)的情況。為了解決這個(gè)問題,我們可以使用rsync工具來實(shí)現(xiàn)斷點(diǎn)續(xù)傳功能。
rsync工作模式
rsync有六種不同的工作模式:
- 本地拷貝:當(dāng)SRC和DES路徑信息都不包含冒號(hào)“:”分隔符時(shí)啟動(dòng)該模式。
- 通過遠(yuǎn)程shell程序訪問:使用一個(gè)遠(yuǎn)程shell程序(如rsh、ssh)將本地機(jī)器的內(nèi)容拷貝到遠(yuǎn)程機(jī)器。當(dāng)DST路徑地址包含冒號(hào)“:”分隔符時(shí)啟動(dòng)該模式。
- 通過遠(yuǎn)程shell程序訪問:使用一個(gè)遠(yuǎn)程shell程序(如rsh、ssh)將遠(yuǎn)程機(jī)器的內(nèi)容拷貝到本地機(jī)器。當(dāng)SRC地址路徑包含冒號(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傳輸,但只需要省略掉本地機(jī)信息即可。
實(shí)例說明
下面是一個(gè)使用rsync進(jìn)行斷點(diǎn)續(xù)傳的實(shí)例:
$ rsync -vazu --progress :~/works/ ~/works
-v
: 詳細(xì)提示-a
: 以archive模式操作,復(fù)制目錄、符號(hào)連接-z
: 壓縮-u
: 只進(jìn)行更新,防止本地新文件被重寫--progress
: 顯示進(jìn)度
以上命令將保持客戶機(jī)10.1.6.160上的$HOME/works
目錄和當(dāng)前機(jī)器的$HOME/works
目錄同步。如果傳輸中斷,rsync會(huì)刪除所有未完成的文件片段并開始新的傳輸。
使用--partial參數(shù)實(shí)現(xiàn)斷點(diǎn)續(xù)傳
為了實(shí)現(xiàn)斷點(diǎn)續(xù)傳功能,我們可以使用--partial
參數(shù)。默認(rèn)情況下,rsync在傳輸中斷后會(huì)刪除所有未完成的文件片段,然后重新開始傳輸。而使用--partial
參數(shù)后,rsync會(huì)保留未完成的文件片段,并在下次傳輸時(shí)使用這些片段來加速傳輸。
另外,-P
參數(shù)綜合了--partial
和--progress
兩個(gè)參數(shù),所以可以直接使用-avzP
來實(shí)現(xiàn)斷點(diǎn)續(xù)傳:
$ rsync -avzP /tmp/bigfile :/tmp/bigfile
除此之外,還有兩個(gè)常用的參數(shù):
-t
: 僅傳輸修改次數(shù)-r
: 遞歸方式復(fù)制
通過理解rsync的工作模式和參數(shù)的使用,我們可以輕松地實(shí)現(xiàn)斷點(diǎn)續(xù)傳功能,并提高大文件復(fù)制的效率。