昨天上網找乙個同步工具,windows同步到linux,額,ms不少,但是配置實在是麻煩,而且很多按照步驟做下來 都不能使用,(估計rp問題),最鬱悶的事莫過如此,經過乙個下午的努力,額,原來真的行的,分享給大家。(估計很多人會覺得囉嗦)
一.介紹 (不想看直接可以跳過)
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.支援匿名傳輸。
核心演算法介紹:
假定在名為α和β的兩台計算機之間同步相似的檔案a與
b,其中α對檔案
a擁有訪問權,β對檔案
b擁有訪問權。並且假定主機α與β之間的網路頻寬很小。那麼
rsync
演算法將通過下面的五個步驟來完成: 1.
β將檔案
b分割成一組不重疊的固定大小為
s位元組的資料塊。最後一塊可能會比
s 小。 2.
β對每乙個分割好的資料塊執行兩種校驗:一種是
32位的滾動弱校驗,另一種是
128位的
md4強校驗。 3.
β將這些校驗結果發給α。 4.
α通過搜尋檔案
a的所有大小為
s的資料塊
(偏移量可以任選,不一定非要是
s的倍數
),來尋找與檔案
b的某一塊有著相同的弱校驗碼和強校驗碼的資料塊。這項工作可以借助滾動校驗的特性很快完成。 5.
α發給β一串指令來生成檔案
a在β上的備份。這裡的每一條指令要麼是對檔案
b經擁有某乙個資料塊而不須重傳的證明,要麼是乙個資料塊,這個資料塊肯定是沒有與檔案
b的任何乙個資料塊匹配上的。
命令:
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]
對應於以上六種命令格式,rsync有六種不同的工作模式:
1)拷貝本地檔案。當src和des路徑資訊都不包含有單個冒號":"分隔符時就啟動這種工作模式。
2)使用乙個遠端shell程式(如rsh、ssh)來實現將本地機器的內容拷貝到遠端機器。當dst路徑位址包含單個冒號":"分隔符時啟動該模式。
3)使用乙個遠端shell程式(如rsh、ssh)來實現將遠端機器的內容拷貝到本地機器。當src位址路徑包含單個冒號":"分隔符時啟動該模式。
4)從遠端rsync伺服器中拷貝檔案到本地機。當src路徑資訊包含"::"分隔符時啟動該模式。
5)從本地機器拷貝檔案到遠端rsync伺服器中。當dst路徑資訊包含"::"分隔符時啟動該模式。
6)列遠端機的檔案列表。這類似於rsync傳輸,不過只要在命令中省略掉本地機資訊即可。
二.安裝
1.[url] (目前是這個版本)
如果是linux之間同步,只需要安裝rsync,如果是需要linux與windows之間同步,安裝 cwrsync
三.客戶端訪問:(客戶端也需要安裝 rsync,如果是windows,安裝cwrsync)
例項演示使用:
檔案同步rsync
命令格式 rsync option 源路徑 目標路徑 其中 option a 使用archive模式,等於 rlptgod,即保持原有的檔案許可權 z 表示傳輸時壓縮資料 v 顯示到螢幕中 e 使用遠端shell程式 可以使用rsh或ssh delete 精確儲存副本,源主機刪除的檔案,目標主機也會...
同步檔案rsync
linux中實現遠端複製檔案的方式常用scp命令,簡單方便,例如 scp r node1 data data 操作與使用都很簡單,不能實現檔案的排除等高階操作,下面介紹下常用的命令rsync rsync實現檔案同步的方式包括 一 首先介紹使用rsync伺服器的操作步驟 安裝rsync伺服器 yum ...
Rsync檔案同步
rsync是linux下的資料同步工具,常用於資料備份,發布等場景。rsync分為服務端和客戶端,兩端的安裝方式完全一樣。我們使用原始碼安裝 wget org pub rsync rsync 3.1 2.tar gztar zxvf rsync 3.1 2.tar gzcd rsync 3.1 2....