Thursday, June 09, 2005

Rsync

Rsync,由研究平行化處理的Andrew Tridgell博班論文中提出。Rsync的運作流程是:

  1. B將舊檔以相同大小的區塊分割並製作兩個簽章(signatures)R跟H


    • R:weak checksum (rolling checksum)

    • H:strong MD4 hash


  2. B傳送步驟一所產生的簽章至A

  3. 擁有新檔案的一方A,比對自己擁有的檔案之簽章,決定傳輸的資料


    • A首先計算自己有的舊檔之weak checksum:R'

    • 若R'i= Ri,檢查strong MD4 hash是否相同。若兩個皆相同,代表這個區塊一樣,A只需要傳這個區塊的索引,否則必須傳遞實際的值。


  4. B根據A在步驟三的計算結果,利用原本的檔案,組合出新檔。


Rsync最常用的幾個選項:
-u 只更新新檔
-l 若是符號連結,以符號連結模式複製
-r 遞迴處理
-D 不更改Devices資訊
-t 不更改時間資訊
-p 不更改使用者權限

指令的格式就跟scp差不多,遠端不一定要跑rsyncd,只要是ssh就可以執行更新的工作。

No comments: