其於window系統的同步實戰
1. 遠端資料同步工具Rsync介紹
1.1 軟體簡介
Rsync是一個遠端資料同步工具,可通過LAN/WAN快速同步多台主機間的檔案。Rsync本來是用以取代rcp的一個工具,它當前由 rsync.samba.org維護。Rsync使用所謂的“Rsync演算法”來使本地和遠程兩個主機之間的檔案達到同步,這個演算法只傳送兩個檔案的不同部分,而不是每次都整份傳送,因此速度相當快。運行Rsync server的機器也叫backup server,一個Rsync server可同時備份多個client的資料;也可以多個Rsync server備份一個client的資料。
Rsync可以搭配rsh或ssh甚至使用daemon模式。Rsync server會開啟一個873的服務通道(port),等待對方Rsync串連。串連時,Rsync server會檢查口令是否相符,若通過口令查核,則可以開始進行檔案傳輸。第一次連通完成時,會把整份檔案傳輸一次,下一次就只傳送二個檔案之間不同的部份。
Rsync支援大多數的類Unix系統,無論是Linux、Solaris還是BSD上都經過了良好的測試。此外,它在windows平台下也有相應的版本,比較知名的有cwRsync和Sync2NAS。
Rsync的基本特點如下:
1.可以鏡像儲存整個分類樹和檔案系統;
2.可以很容易做到保持原來檔案的許可權、時間、軟永久連結等;
3.無須特殊許可權即可安裝;
4.最佳化的流程,檔案傳輸效率高;
5.可以使用rcp、ssh等方式來傳輸檔案,當然也可以通過直接的socket串連;
6.支援匿名傳輸。
1.2 核心演算法
假定在名為α和β的兩台電腦之間同步相似的檔案A與B,其中α對檔案A擁有訪問權,β對檔案B擁有訪問權。並且假定主機α與β之間的網路頻寬很小。那麼rsync演算法將通過下面的五個步驟來完成:
1.β將檔案B分割成一組不重疊的固定大小為S位元組的資料區塊。最後一塊可能會比S 小。
2.β對每一個分割好的資料區塊執行兩種校正:一種是32位的滾動弱校正,另一種是128位的MD4強校正。
3.β將這些校正結果發給α。
4.α通過搜尋檔案A的所有大小為S的資料區塊(位移量可以任選,不一定非要是S的倍數),來尋找與檔案B的某一塊有著相同的弱校正碼和強校正碼的資料區塊。這項工作可以藉助滾動校正的特性很快完成。
5.α發給β一串指令來組建檔案A在β上的備份。這裡的每一條指令要麼是對檔案B經擁有某一個資料區塊而不須重傳的證明,要麼是一個資料區塊,這個資料區塊肯定是沒有與檔案B的任何一個資料區塊匹配上的。
1.3 命令文法
rsync的命令格式可以為以下六種:
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [USER@]HOST:DEST
rsync [OPTION]... [USER@]HOST:SRC DEST
rsync [OPTION]... [USER@]HOST::SRC DEST
rsync [OPTION]... SRC [USER@]HOST::DEST
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
當前1/2頁
12下一頁閱讀全文