利用cwRsync工具實現Windows伺服器資料遠程同步

來源:互聯網
上載者:User

1. cwRsync簡介
cwRsync是Rsync在Windows上的實現版本,Rsync通過使用特定演算法的檔案傳輸技術,可以在網路上傳輸只修改了的檔案。
cwRsync主要用於Windows上的遠程檔案同步備份和同步,它包含Cygwin DLL和適用Cygwin版本的Rsync兩部分。
cwRsync分為Server和Client,本文使用的版本為4.1.0,下載地址如下:
cwRsyncServer v4.1.0:http://pan.baidu.com/s/1eQpaIVw
cwRsync v4.1.0:http://pan.baidu.com/s/1pJ3B1FX
下面舉例介紹Server及Client端的配置使用,本文使用環境如下:
Server: 192.168.85.236
Client: 192.168.85.249

2. Server安裝使用
2.1 安裝
一路點擊Next,使用預設配置安裝即可。
2.2 配置
修改設定檔rsyncd.conf如下(預設位置:C:\Program Files\ICW\):

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
port = 873
uid = 0
gid = 0

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/d/test
read only = false
transfer logging = yes

部分重要參數解釋如下:

use chroot = false
strict modes = false
hosts allow = * #允許所有IP訪問
log file = rsyncd.log #記錄檔
pid file = rsyncd.pid #進程檔案
port = 873 #服務連接埠號碼
uid = 0 #不限定使用者
gid = 0 #不限定組

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test] #認證的模組名,在client端需要指定使用
path = /cygdrive/d/test #需要做鏡像同步的目錄,如d:/test
read only = false
transfer logging = yes

註:
1. uid=0和gid=0需要指定,否則後面client進行同步時會報錯:
@ERROR: invalid uid nobody
rsync error: error starting client-server protocol (code 5) at main.c(1516) [Receiver=3.0.8]
2. 上述只是簡單的配置樣本,還有很多其他的選項,可以參考說明檔案:C:\Program Files\ICW\doc\rsyncd.conf.html
2.3 啟動服務
在Server機器上運行services.msc,選擇服務"RsyncServer"配置啟動類型為"自動",後啟動該服務。




3. Client安裝使用

3.1 安裝
與Server相同,一路點擊Next,使用預設配置安裝即可。
3.2 使用
建立一個test.bat檔案,內容如下:

@echo off
set RSYNC_HOME=C:\Program Files\cwRsync\bin
cd %RSYNC_HOME%
C:
rsync -avzP --progress --delete rsync://192.168.85.236:873/test /cygdrive/d/test

命令參數詳解:

-avzP  
-a 參數,相當於-rlptgoD:
-r 是遞迴
-l 是連結檔案,意思是拷貝連結檔案
-p 表示保持檔案原有許可權
-t 保持檔案原有時間
-g 保持檔案原有使用者組
-o 保持檔案原有屬主
-D 相當於塊裝置檔案

-v 詳細模式輸出
-z 傳輸時壓縮
-P 顯示傳輸進度

--progress 顯示備份同步過程
--delete 刪除Client中有Server沒有的檔案,即如果Server刪除了這一檔案,那麼client也相應把檔案刪除,保持真正的一致

rsync://192.168.85.236:873/test 配置Sever的IP地址及需要同步的模組名(Server rsyncd.conf中配置)
/cygdrive/d/test 存放同步檔案的Client本地目錄D:\test

運行bat,Client會進行檔案遠程同步,截圖如下:

 

 

3.3 測試

在上述環境上,進行了大批量檔案的同步測試,結果如下:

 

1.每次進行同步時,client均會擷取更新檔案清單,檔案數目比較大時(2.7w 27.5G)耗時較長(5min47s)

2.在此基礎上進行累加式更新耗時較短,更新100個檔案(減去擷取列表時間)只需耗時16s

4.計劃任務配置

1. 在client機器上選擇:控制台->任務計劃->新增工作計劃

2. 點擊下一步->瀏覽,開啟上述的test.bat檔案

 

 

3. 選擇每天執行一次

 

 

4. 配置起始時間

 

 

5. 點擊下一步,輸入伺服器使用者名稱及密碼,完成任務添加

 

 

6. 選擇剛才添加的任務,配置屬性:日常安排->進階,選擇重複任務,配置每20分鐘執行一次,持續24小時

 

 

這時,計劃任務就會每天24小時,每20分鐘運行一次的方式來自動進行client與Server間的資料同步了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.