1. 程式人生 > >Windows下利用cwRsync批量同步檔案(4.1.0版本)

Windows下利用cwRsync批量同步檔案(4.1.0版本)

      前段時間寫了一篇linux下利用rsync批量更新的文章,網遊公司windows伺服器還是很多的,今天就來講講windows下批量更新的方法,windows下同步資料利用cwRsync來完成的

一、系統環境

windows 2003 R2 sp2

  更新源伺服器:10.8.5.240

  目的伺服器:10.8.5.2 10.8.5.3 … …

 二、更新源伺服器安裝配置(rsync服務端)

1、雙擊cwRsyncServer_4.1.0_Installer.exe然後就一路下一步,安裝cwRsync服務端預設有一個管理員賬戶SvcCWRSYNC,可自行修改

 

  安裝完成後,在“服務”裡面就可以看到cwRsync對應的服務了,安裝完成後需要手動啟動該服務

 

2、修改rsyncd.conf配置檔案(C:\Program Files\ICW\rsyncd.conf)

use chroot = false #不使用chroot

strict modes = false #靜態模式

hosts allow = * #所有IP均可

log file = rsyncd.log #log檔名,可以指定路徑

pid file = rsyncd.pid

port = 8173 #預設埠873

uid = 0 #不指定uid,不加這一行將無法使用任何賬戶

gid = 0 #不指定gid

max connections = 10 #最大連線數10

# Module definitions

# Remember cygwin naming conventions : c:work becomes /cygwin/c/work

[web_1]

path = /cygdrive/d/www/web_1 #需要備份的路徑(D盤www/web_1目錄)

read only = false #只讀

transfer logging = yes #記錄傳輸日誌

ignore errors #忽略無關的IO錯誤

list = no #不列檔案表

hosts allow = 10.8.5.0/255.255.255.0 #允許訪問的IP

hosts deny = * #不允許hosts allow以外的任何IP訪問

[web_2]

path = /cygdrive/d/www/web_2 #需要備份的路徑(D盤www/web_2目錄)

read only = false #只讀

transfer logging = yes #記錄傳輸日誌

ignore errors #忽略無關的IO錯誤

list = no #不列檔案表

hosts allow = 10.8.5.0/255.255.255.0 #允許訪問的IP

hosts deny = * #不允許hosts allow以外的任何IP訪問

3、配置檔案修改完成後,就手動啟動RsyncServer服務,netstat -an,看8173埠監聽沒

三、目的伺服器安裝配置(rsync客戶端)

1、雙擊cwRsync_4.1.0_Installer.exe,然後一路下一步

2、編寫批處理檔案定時同步更新

10.8.5.2 (rsync.bat)

@echo off

C:\”Program Files”\cwRsync\bin\rsync.exe -avzP --progress --delete rsync://10.8.5.240:8173/web_1 /cygdrive/d/www/web_1 >> d:\rsync_%date:~0,10%.log

10.8.5.3 (rsync.bat)

@echo off

C:\”Program Files”\cwRsync\bin\rsync.exe -avzP --progress --delete rsync://10.8.5.240:8173/web_2 /cygdrive/d/www/web_2 >> d:\rsync_%date:~0,10%.log

  或者把C:\”Program Files”\cwRsync\bin\ 加到使用者的環境變數中,這樣rsync.exe前面就不用加絕對路徑了

3、引數說明

-a 引數,相當於-rlptgoD,

-r 是遞迴

-l 是連結檔案,意思是拷貝連結檔案;

-p 表示保持檔案原有許可權;

-t 保持檔案原有時間;

-g 保持檔案原有使用者組;

-o 保持檔案原有屬主;

-D 相當於塊裝置檔案;

-z 傳輸時壓縮;

-P 傳輸進度;

-v verbose,詳細模式輸出;

-u是隻同步已經更新的檔案,避免沒有更新的檔案被重複更新一次,不過要注意兩者機器時鐘的同步;

--progress 顯示備份過程;

--delete 刪除那些DST中SRC沒有的檔案,用作同步檔案用;

4、設定計劃任務

  每5分鐘同步一次

 

 

5、手動測試同步資訊

C:\”Program Files”\cwRsync\bin\rsync.exe -avzP --progress --delete rsync://10.8.5.240:8173/web_1 /cygdrive/d/www/web_1