【Windows】Windows伺服器之間實現檔案實時同步?
阿新 • • 發佈:2018-12-09
Windows伺服器之間實現檔案實時同步?
做公安專案,要實現內外網檔案同步,需要用到同步工具。有一個工具叫 “前置機”。
前置機的原理不是很清楚,應該是通過地址對映過去,然後跟公安內網某個內網IP伺服器一一對映。
前置機有以下幾個特點:
1、能從外往裡訪問,在裡面不能訪問外面(應該是伺服器被遮蔽了,可能是公安部規定的“一機多用”)
2、橋樑作用,外網 ===》前置機 ===》內網
3、檔案、資料只能主動請求拉取,而不能主動往外發送。
檔案同步工具(cwRsync)
安裝伺服器版cwRsyncServer
一直下一步:
直到完成安裝
開啟服務 =》 找到RsyncServer服務 =》設定成自動啟動 =》啟動
如果報錯,可能是使用者名稱密碼不正確,去系統使用者更改密碼,再次填入啟動。
配置伺服器環境:
安裝目錄應該在 C:\Program Files\ICW
找到 rsyncd.conf檔案,配置如下:
use chroot = false strict modes = false log file = rsyncd.log pid file = rsyncd.pid port = 888 uid = 0 gid = 0 # Module definitions # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work # [work] path = /cygdrive/e/sync read only = false transfer logging = yes hosts allow = * hosts deny = 0.0.0.0/0 [n2w] path = /cygdrive/e/sync_n2w read only = false transfer logging = yes hosts allow = * hosts deny = 0.0.0.0/0
重啟RsyncServer服務。
使用telnet 127.0.0.1 888測試一下是否通。
安裝客戶端版cwRsyncClient
客戶端一直下一步安裝,安裝目錄:
使用命令同步:
新建一個bat檔案,寫入:
@echo off set RSYNC_HOME=C:\Program Files\cwRsync\bin cd %RSYNC_HOME% C: rsync -vzrtopg --progress --delete /cygdrive/d/wwwroot/work/ rsync://192.168.2.21:888/work ping -n 5 127.0.0.1>nul rsync -vzrtopg --progress --delete rsync://192.168.2.21:888/work /cygdrive/d/wwwroot/work ping -n 10 127.0.0.1>nul rsync -vzrtopg --progress --delete rsync://192.168.2.21:888/n2w /cygdrive/d/sync_n2w
命令不同,作用也不同。
1、#rsync -vzrtopg --progress --delete /cygdrive/d/wwwroot/work/ rsync://192.168.2.21:888/work
根據目錄結構,是將客戶端的檔案上傳到伺服器端
2、rsync -vzrtopg --progress --delete rsync://192.168.2.21:888/work /cygdrive/d/wwwroot/work
這裡是將伺服器端的檔案拉取到客戶端,且如果伺服器端沒有這個檔案,則刪除客戶端想對應的檔案