rsync的斷點續傳設置。


關於rsync的斷點續傳

關於rsync的斷點續傳

經常copy大文件,由於服務器、路由等網絡的不確定性,老是出現

remote server not responding.
於是查了下資料,發現rsync這個工具支持斷點續傳功能,這里介紹一下。
rsync也分服務器端和客戶端,使用man查看幫助信息,我們發現rsync有六種不同的工作模式:
Local: rsync [OPTION...] SRC... [DEST]

Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST

Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

List remote files: rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
  1. 拷貝本地文件;當SRC和DES路徑信息都不包含有單個冒號":"分隔符時就啟動這
種工作模式。
  2.使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝到遠程機器

。當DST
路徑地址包含單個冒號":"分隔符時啟動該模式。
  3.使用一個遠程shell程序(如rsh、ssh)來實現將遠程機器的內容拷貝到本地機器

。當SRC
地址路徑包含單個冒號":"分隔符時啟動該模式。
  4. 從遠程rsync服務器中拷貝文件到本地機。當SRC路徑信息包含"::"分隔符時啟動

該模式。
  5. 從本地機器拷貝文件到遠程rsync服務器中。當DST路徑信息包含"::"分隔符時啟

動該模式。
  6. 列遠程機的文件列表。這類似於rsync傳輸,不過只要在命令中省略掉本地機信

息即可。
下面以實例來說明:
  # rsync -vazu -progress cnangel@10.1.6.160:~/works/ ~/works
  v:詳細提示
  a:以archive模式操作,復制目錄、符號連接,等價於 -rlptgoD 。
  z:壓縮
  u:只進行更新,防止本地新文件被重寫,注意兩者機器的時鍾的同時
  -progress:指顯示
  以上命令是保持客戶機10.1.6.160上的$HOME/works目錄和當前機器的$HOME/works目錄同
步。
這經常是我們所說的鏡像同步就是這么來的,如果斷點續傳呢?rsync完全可以做到這一點。man手冊再次告訴我們:
--partial
By default, rsync will delete any partially transferred file if the transfer is
interrupted. In some circumstances it is more desirable to keep partially transferred
files. Using the --partial option tells rsync to keep the partial file which should
make a subsequent transfer of the rest of the file much faster.

--partial-dir=DIR
A better way to keep partial files than the --partial option is to specify a DIR that
will be used to hold the partial data (instead of writing it out to the destination
file). On the next transfer, rsync will use a file found in this dir as data to
speed up the resumption of the transfer and then delete it after it has served its
purpose.
默認的情況下,當rsync傳輸中斷后,新的rsync傳輸將刪除所有的未完成的殘余文件片段,然后開始新的傳輸。而使用--partial后,將會進行我們所說的斷點續傳。
值得注意的是-P這個參數是綜合了--partial --progress兩個參數,所以rsync的斷點續傳可以用下面的例子來說明:
# rsync -avzP /tmp/bigfile cnangel@10.1.6.160:/tmp/bigfile
另外,還有兩個參數也經常用到:
  t:修改次數
  r:遞歸方式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM