一、rsync 簡介
Rsync(remote synchronize)是一個遠端資料同步工具,可通過LAN/WAN快速同步多台主機間的檔案,也 可以使用 Rsync 同步本地硬碟中的不同目錄。
Rsync 是用於取代rcp的一個工具,Rsync使用所謂的 “Rsync 演算法” 來使本地和遠程兩個主 機之間的檔案達到同步,這個演算法只傳送兩個檔案的不同部分,而不是每次都整份傳送,因此速度相當快。您 可以參考 How Rsync Works A Practical Overview 進一步瞭解 rsync 的運作機制。
Rsync支援大多數的類Unix系統,無論是Linux、Solaris還是BSD上都經過了良好的測試。此外,它在 windows平台下也有相應的版本,比較知名的有cwRsync和Sync2NAS。
Rsync 的初始作者是 Andrew Tridgell 和 Paul Mackerras,它當前由 http://rsync.samba.org維護。
Rsync的基本特點如下:
1. 可以鏡像儲存整個分類樹和檔案系統;
2. 可以很容易做到保持原來檔案的許可權、時間、軟永久連結等;
3. 無須特殊許可權即可安裝;
4. 最佳化的流程,檔案傳輸效率高;
5. 可以使用rcp、ssh等方式來傳輸檔案,當然也可以通過直接的socket串連;
6. 支援匿名傳輸,以方便進行網站鏡像。
在使用 rsync 進行遠程同步時,可以使用兩種方式:遠程 Shell 方式(建議使用 ssh,使用者驗證由 ssh 負責)和 C/S 方式(即客戶串連遠程 rsync 伺服器,使用者驗證由 rsync 伺服器負責)。
無論本地同步目錄還是遠程同步資料,首次運行時將會把全部檔案拷貝一次,以後再運行時將只拷貝有變 化的檔案(對於新檔案)或檔案的變化部分(對於原有檔案)。
rsync 在首次複製時沒有速度優勢,速度不如 tar,因此當資料量很大時您可以考慮先使用 tar 進行首次 複製,然後再使用 rsync 進行資料同步。
二、系統內容
系統平台:CentOS release 6.3 (Final)
rsync 版本:rsync-3.0.9-2.el6.rfx.x86_64.rpm
rsync 伺服器:TS-DEV (172.16.1.135)
rsync 用戶端:TS-CLIENT (172.16.1.136)
三、伺服器端安裝rsync服務
3.1. 檢查rsync 是否已經安裝
# rpm -qa|grep rsync
若已經安裝,則使用rpm -e 命令卸載。
3.2. 下載RPM包
# wget http://pkgs.repoforge.org/rsync/rsync-3.0.9-2.el6.rfx.x86_64.rpm
3.3. 安裝rsync
# rpm -ivh rsync-3.0.9-2.el6.rfx.x86_64.rpm
四、配置 rsync 服務
4.1. 配置 rsync 伺服器的步驟
首先要選擇伺服器啟動方式
對於負荷較重的 rsync 伺服器應該使用獨立運行方式
對於負荷較輕的 rsync 伺服器可以使用 xinetd 運行方式
建立設定檔 rsyncd.conf
對於非匿名訪問的 rsync 伺服器還要建立認證口令檔案
4.2. 以 xinetd 運行 rsync 服務
CentOS 預設以 xinetd 方式運行 rsync 服務。rsync 的 xinetd 設定檔
在 /etc/xinetd.d/rsync。要配置以 xinetd 啟動並執行 rsync 服務需要執行如下的命令:
# chkconfig rsync on # service xinetd restart
管理員可以修改 /etc/xinetd.d/rsync 設定檔以適合您的需要。例如,您可以修改配置行
server_args = --daemon
在後面添加 rsync 的服務選項。