配置Windows server 2008文件同步

         衆所周知,Linux系統可以用rsync來實現文件或目錄的同步,windows系統下也一樣可以。我們現在就用cwRsync來實現windows server 2008系統下的文件同步。

一、系統環境
操作系統:Windows server 2008 R2
更新源服務器:192.168.0.108
目的服務器:192.168.0.132
服務端:cwRsyncServer_4.1.0_Installer
客戶端:cwRsync_4.1.0_Installer
二、更新源服務器安裝配置(cwRsync服務端)
1. 雙擊cwRsyncServer_4.1.0_Installer.exe打開安裝界面,然後就一路下一步,安裝cwRsync服務端默認有一個管理員帳戶SvcCWRSYN,可自行設置用戶名和密碼。

2. 修改RsyncServer的配置文件(C:\Program Files (x86)\ICW\rsyncd.conf)

  1. use chroot = false  #不使用chroot 
  2. strict modes = false  #靜態模式 
  3. hosts allow = *  #配置全局哪些IP可以訪問 
  4. log file = rsyncd.log  #log文件名,可以指定路徑 
  5. pid file = rsyncd.pid 
  6. port = 8173  #默認端口873 
  7. uid = 0  #不指定uid,不加這一行將無法使用任何賬戶 
  8. gid = 0  #不指定gid 
  9. max connections = 10  #最大連接數10 
  10. lock file = rsyncd.lock 
  11. # Module definitions 
  12. # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work 
  13. [test] 
  14. path = /cygdrive/f/xuad  #需要同步的路徑(F:\xuad目錄) 
  15. read only = false  #只讀權限 
  16. transfer logging = yes  #記錄傳輸日誌 
  17. ignore errors  #忽略無關的IO錯誤 
  18. list = no  #不列文件表 
  19. hosts allow = 192.168.0.132/255.255.255.0  #允許訪問的IP地址 
  20. hosts deny = *  #不允許hosts allow以外的任何IP訪問 

3. 安裝完成後,在“服務”裏面就可以看到cwRsync對應的服務了,安裝完成後需要手動啓動該服務。將RsyncServer的啓動方式設置成自動,然後啓動該服務。注:針對需要同步的目錄,別忘記給SvcCWRSYNC用戶讀取的權限。

4. 用netstat –anp tcp查看8173端口是否已監聽,在客戶端服務器telnet 192.168.0.108 8173看端口是否已通。

三、目的服務器安裝配置(cwRsync客戶端)

1. 雙擊cwRsync_4.1.0_Installer.exe打開安裝界面,然後一路下一步,直到安裝完成。

2. 手動測試同步

在路徑C:\Program Files\cwRsync\bin下輸入rsync.exe -avzP --progress –delete rsync://192.168.0.108:8173/test /cygdrive/f/xuad,出現如下圖信息說明同步成功。

參數說明

-a 參數,相當於-rlptgoD,

-r 是遞歸

-l 是鏈接文件,意思是拷貝鏈接文件;

-p 表示保持文件原有權限;

-t 保持文件原有時間;

-g 保持文件原有用戶組;

-o 保持文件原有屬主;

-D 相當於塊設備文件;

-z 傳輸時壓縮;

-P 傳輸進度;

-v verbose,詳細模式輸出;

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

--progress 顯示備份過程;

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

3.定時自動更新配置

(1)編寫rsync.bat批處理腳本

  1. @echo off 
  2. set rsynclog="C:\rsynclog\rsync.log" 
  3. set nowtime=%date:~0,10% %time
  4. echo %nowtime% >> %rsynclog% 
  5. cd /d C:\"Program Files"\cwRsync\bin 
  6. rsync.exe -avzPu --progress --delete rsync://192.168.0.108:8173/test /cygdrive/c/xuad >> %rsynclog% 
  7. @echo -------------------------------------------------- >> %rsynclog% 
  8. @echo. >> %rsynclog% 

(2)設置計劃任務(每5分鐘同步一次)

開始-管理工具-任務計劃程序

右擊“任務計劃程序本地”,打開創建任務界面。輸入姓名(任務名稱),選擇啓動任務的帳戶,選中“不管用戶是否登錄都要運行”。

點擊“觸發器”-“新建”,打開新建觸發器界面。按下圖進行設置,每5分鐘同步一次。

點擊“操作”-“新建”,打開新建操作界面。按下圖進行設置,選擇之前編輯好的bat腳本,然後“確定”。

“條件”和“設置”均使用默認設置,然後“確定”,輸入運行此任務的用戶帳戶的密碼,點擊“確定”,創建任務計劃完成。

四、測試中出現的錯誤

1. 命令輸入錯誤

紅框標記出來的地方應該是rsyncd.conf文件裏的模塊名,而不是同步目錄名。
2.防火牆阻止了此端口

需要在防火牆的入站規則裏添加一條允許此端口的規則。

五、重要說明
    對於多臺服務器做文件同步,最好是連同數據備份一起做了。舉個例子:有A、B、C、D四臺服務器,需要保證四臺服務器一個或多個目錄的數據一致性,也就是BCD需要從A上同步一個或多個目錄的數據,那麼A就是更新源服務器,BCD就是目的服務器。現在有個問題,當A的數據出現問題或丟失,那麼BCD三臺的數據都會出現問題並且丟失,爲了保證A的數據一定是正確的,我們在更新A服務器之前,就要先對A做數據備份。下面是個簡單的bat腳本,可以實現數據的自動備份並上傳至FTP服務器,可以把它加入到任務計劃裏面定期執行它。
Backup.bat腳本內容如下:
  1. @echo off 
  2.  
  3. set today=%date:~0,10% 
  4. set nowh=%time:~0,2% 
  5. set nowtime=%date:~0,10% %time
  6. set rar="c:\Program Files\WinRAR\rar.exe" 
  7. set ftplist="E:\baklog\ftpls.txt" 
  8. set baklog="E:\baklog\backup.log" 
  9. set FtpSrv=192.168.0.109 
  10. set FtpPort=21 
  11. set FtpUser=bak 
  12. set FtpPwd=bak1q2w3e 
  13. echo %nowtime% >> %baklog% 
  14.  
  15. ::Rar files 
  16. %rar% a E:\backup\backup_%today%_%nowh%.rar F:\xuad >> %baklog% 
  17.  
  18. ::Upload files by ftp 
  19. echo open %FtpSrv% %FtpPort% > %ftplist% 
  20. echo user %FtpUser% %FtpPwd% >> %ftplist% 
  21. echo cd backup >>%ftplist% 
  22. echo bin >> %ftplist% 
  23. echo prompt >> %ftplist% 
  24. echo lcd E:\backup  >>%ftplist% 
  25. echo Put backup_%today%_%nowh%.rar >> %ftplist% 
  26. echo quit   >> %ftplist% 
  27. echo bye    >> %ftplist% 
  28. ftp -n -s:%ftplist% >> %baklog% 
  29.  
  30. echo. > %rarlist% 
  31. @echo -------------------------------------------------- >> %baklog% 
  32. @echo. >> %baklog% 
參考文獻:
http://kerry.blog.51cto.com/172631/753232
特此感謝這位作者,謝謝!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章