rsync 檔案同步

2021-06-06 05:05:12 字數 2894 閱讀 7159

昨天上網找乙個同步工具,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....