天天看點

用cwRsync4.05版本作的WINDOWS伺服器之間同步方案概要

由于之前使用windows dfs來同步f1和f2之間的圖檔目錄時,dfs的不透明和可控性較低,

導緻有的産品目錄不能及時上線。

我将這一同步過程更改為通過cwrsync軟體(windows version )來實作。

下面給出建立伺服器,用戶端,配置檔案,免手工密碼輸入,bat,計劃任務過程。

作為kb存檔。為以後建立類似服務和解決問題故障提供參照。。

第一步,安裝伺服器端和用戶端

<a href="http://sourceforge.net/projects/sereds/files/cwrsync/4.0.5/">http://sourceforge.net/projects/sereds/files/cwrsync/4.0.5/</a>

此處可下載下傳cwrsync4.05版本的server 和client。

本次布置的方案是以f1為server

f2為client。

然後,f1定期從f2接受更新同步的資料。

安裝過程預設安裝即可。

安裝過程中要設定管理使用者名和密碼(使用者名預設為svccwrsync,密碼設定為********),安裝完成之後,将service調為autostart。

用cwRsync4.05版本作的WINDOWS伺服器之間同步方案概要
用cwRsync4.05版本作的WINDOWS伺服器之間同步方案概要

第二步,配置rsyncd.conf檔案。

檔案所在位置:

c:\program files (x86)\icw

檔案的具體含義如下:

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. 

11.# module definitions 

12.# remember cygwin naming conventions : c:work becomes /cygwin/c/work 

13.[web_1] 

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

15.read only = false #隻讀 

16.transfer logging = yes #記錄傳輸日志 

17.ignore errors #忽略無關的io錯誤 

18.list = no #不列檔案表 

19.hosts allow = 10.8.5.0/255.255.255.0 #允許通路的ip 

20.hosts deny = * #不允許hosts allow以外的任何ip通路 

21. 

22. 

23.[web_2] 

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

25.read only = false #隻讀 

26.transfer logging = yes #記錄傳輸日志 

27.ignore errors #忽略無關的io錯誤 

28.list = no #不列檔案表 

29.hosts allow = 10.8.5.0/255.255.255.0 #允許通路的ip 

30.hosts deny = * #不允許hosts allow以外的任何ip通路

我所用的配置如下:

use chroot = false

strict modes = false

read only = yes

list = no

hosts allow = *

max connections = 10

lock file = rsyncd.lock

motd file = rsyncd.motd

log file = rsyncd.log

pid file = rsyncd.pid

transfer logging = yes

uid = 0

gid = 0

auth users= rsyncuser

secrets file = rsyncd.secrets

# module definitions

# remember cygwin naming conventions : c:\work becomes /cygwin/c/work

#

[all-p]

path = /cygdrive/c/f1/all-p

read only = false

第三步:在伺服器端建立rsyncd.secrets檔案,

在裡面輸入相應的使用者名和密碼:

rsyncuser:********

第四步,配置cwrsync用戶端

建立一個rsyncd.secrets檔案,在檔案裡僅輸入密碼

********

第五步,建立bat及計劃任務

将同步的任務作成計劃bat:

@echo off  

如果在以上過程中,需要提示輸入密碼的話,以下url值得參考:

<a href="http://interice.blog.163.com/blog/static/2427811220123204582894/">http://interice.blog.163.com/blog/static/2427811220123204582894/</a>

。。。

10、測試執行及故障的排除。

配置完成後執行批處理檔案bak.bat,提示密碼檔案的所有者必須是root

error: password file must be owned by root when running as root

被這一問題困擾了很長時間,從網上也查不到很好的解決辦法,最後還是自己琢磨出來了。

解決方法:

在指令行視窗進入cwrsync安裝路徑的bin目錄下,

執行ls -l /cygdrive/c/pwd.conf,可以看到pwd.conf檔案的所有者是4294967295,我了個去。

于是用指令修改,chown administrator /cygdrive/c/pwd.conf

因為按照提示把所有者改為root,會提示root為不可用的使用者 invalid user: `root'

是以試着把所有者改為administrator,再次ls -l 檢視,看到所有者已經變更了

用cwRsync4.05版本作的WINDOWS伺服器之間同步方案概要

需要注意的是如果bin目錄下沒有ls.exe、chown.exe等檔案,是因為cwrsync用戶端不安裝這些檔案,但是伺服器端的bin目錄下是有的,是以需要把這些檔案拷貝過來。我太有才了。

同步過程中的截圖:

用cwRsync4.05版本作的WINDOWS伺服器之間同步方案概要

繼續閱讀