使用cwRsync實現windows下伺服器檔案定時同步備份(附錯誤處理方法)

來源:互聯網
上載者:User

首先要下載cwRsync的服務端和用戶端軟體,如下:

服務端:cwRsync Server (多台伺服器檔案同步服務端) V4.1.0 免費版

用戶端:cwRsync(多伺服器檔案同步用戶端) V4.1.0 免費版

不過我們使用的一般不是最新版本,老版本可以到s.jb51.net的伺服器檔案同步專區下載

然後我在本地機器上安裝了其中的伺服器端(10.0.2.136),然後在同網段下的另一台機器(10.0.2.137)安裝了用戶端。為了測試,我專門在本地機器上的f盤上放置了我們的產品dnt的網站檔案,同時準備將該網站資料夾下的aspx和config檔案夾作為要進行同步檔案的檔案夾。然後在其服務端的rsyncd.config檔案下,輸入如下內容: 複製代碼 代碼如下:use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
port = 52326
max connections = 4

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[t_aspx]
path = /cygdrive/f/dnt_snap/aspx
read only = false
transfer logging = yes
lock file = rsyncd.lock

[t_config]
path = /cygdrive/f/dnt_snap/config
read only = false
transfer logging = yes
lock file = rsyncd.lock

註:在上面的內容中,將監聽連接埠設定為52326。
這樣,我們在控制項面板-->管理工具-->服務,找到該服務並啟動它,如:

這時我們就可以在用戶端(10.0.2.137)的f盤上建立一個叫sync的檔案夾,同時在下面建立兩個分別叫"config”和“aspx”的檔案夾來對應同步服務端的檔案夾。

然後接著用下面的內容建立一個名為 dnt_rsync.bat的批次檔: 複製代碼 代碼如下:rsync -av rsync://10.0.2.136:52326/t_config /cygdrive/f/sync/config
rsync -av rsync://10.0.2.136:52326/t_aspx /cygdrive/f/sync/aspx

並將其放到cwRsync用戶端安裝目錄下的bin目錄中(我的安裝目錄如下:C:\Program Files\cwRsync\bin),然後雙擊啟動它。
這樣,就開始同步檔案了:

之後,我們可以到用戶端f盤的相應目前中查看同步過來的檔案,呵呵。

當然cwRsync是採用增量和修改同步方式,如果你將伺服器端的相應檔案做了修改,則同步時只會同步修改過的檔案或新增的檔案。

下面介紹一下如何通過windows中的“任務計劃”來建立定時任務,執行定時同步。

首先在用戶端的機器上的: 控制項面板->任務計劃->點擊“新增工作計劃”, 在相應的快顯視窗中點擊下一步,然後點擊導航視窗中的“瀏覽”按鈕,如下,並從中選擇之前建立的批次檔”dnt_sync.bat”:

這時系統會顯示如下視窗提示當前計劃任務執行方式,我這裡選擇每天執行(一次):

到這裡,系統就會建立一個叫dnt_sync的任務計劃,同時在接下來的視窗中提示任務的開始執行時間:

這裡不做任何修改,直接點擊下一步,接著是身分識別驗證(通常是管理員身份),必定任務計劃非同兒戲,要有足夠的許可權才可以玩的轉:)

最後點擊完成,就建立了一個任務計劃。只不過它是按天執行的,如果我們希望其每分鐘執行一次又該怎麼辦呢,其實很簡單,只要在用滑鼠點擊新建立的任務計劃,並在快顯功能表中選擇“屬性”,這時在快顯視窗的“排程”中點擊“進階按鈕”,如下:

這時就會彈出一個叫“進階計劃選項”的子視窗,在其它做如下設定:

到這裡,這個計劃任務就會每天24小時,以每分鐘運行一次的方式來同步之前的那兩個檔案夾了。

最近使用軟體的時間超過了開發軟體的時間,導致開發的代碼量不像之前那麼多了,呵呵。不過這類軟體還是很有應用情境的,估計將來會用的上,故寫作本文與大家分享的同時以“備份”處之。

作者: daizhj, 代震軍

上面的文章很多細節沒有考慮到,實際應用中經常會出現多種問題

cwRsync同步常見問題:
錯誤一:
@ERROR: auth failed on module xxxxx
rsync: connection unexpectedly closed (90 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)
解決:這是因為密碼設定錯了,無法登入成功,檢查一下rsync.pwd,看客服是否匹配。還有伺服器端沒啟動rsync 服務也會出現這種情況。
錯誤二:
password file must not be other-accessible
continuing without password file
Password:
解決:這是因為rsyncd.secrets的許可權不對,或存放的位置不是NTFS分區
錯誤三:
@ERROR: chroot failed
rsync: connection unexpectedly closed (75 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)
解決:這是因為你在 rsync.conf 中設定的 path 路徑不存在,要建立目錄才能開啟同步。
錯誤四:
rsync: failed to connect to 192.168.0.10: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=2.6.9]
解決:對方沒開機、防火牆阻擋、通過的網路上有防火牆阻擋,都有可能。關閉防火牆,其實就是把tcp udp 的連接埠(預設873)開啟。
錯誤五:密碼問題
如果配置中帶了secrets file=wtjb51.conf,那麼就需要建立一個wtjb51.conf檔案,用記事本開啟,裡面寫上使用者名稱與密碼,方便用戶端通過密碼
rsyncd.conf

複製代碼 代碼如下:use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[wtjb51]
path = /cygdrive/d/jb51net
read only = false
transfer logging = yes
auto user=wtjb51
secrets file=wtjb51.conf

wtjb51.conf 複製代碼 代碼如下:wtjb51:www.jb51.net

錯誤六:提示許可權問題
伺服器端需要給目錄 svcwrsync使用者寫入修改許可權
如果還有別的問題,可以聯絡我們協助解決。qq:461478385

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.