一.背景
現(xiàn)在的服務器都會使用負載均衡技術,?用于解決互聯(lián)網(wǎng)架構中的高并發(fā)和高可用的問題. 但這會出現(xiàn)一個問題, 用戶在A服務器上傳了一個文件之后, 下次該用戶訪問B服務器就會出現(xiàn)找不到該文件的情況. 這時候我們就需要做文件同步, 同時文件同步也可以用來做備份.
二.解決方案
在網(wǎng)上找到一些文件同步方案胰挑,最后決定使用cwRsync這個軟件孩革。cwRsync是基于cygwin平臺的rsync軟件包腊满,支持windows對windows、windows對Linux芜抒、Linux對windows高效文件同步痪蝇。由于CwRsync已經(jīng)集成了cygwin類庫急膀,因此安裝的時候可以省去cygwin包。Cwrsync還集成了OpenSSH for windows钝腺,可以實現(xiàn)Linux 下Rsync一模一樣的操作。使用 cwRsync 來同步文件后赞厕,只需要對一臺主服務器進行文件修改艳狐,其他鏡像服務器可以自動同步,包括文件的更新皿桑、刪除毫目、重命名等。
演示視頻
三.下載和安裝
1.鏈接: 百度網(wǎng)盤? 提取碼: ejua
2.安裝
進行數(shù)據(jù)同步我們用到了兩個工具cwRsyncClient和cwRsyncServer诲侮,目前有兩臺電腦IP分別是:192.168.2.251和192.168.2.252镀虐,接下來把192.168.2.252用做Server端也就是我們常說的服務端,另外的就是客戶端了
第一步:Server端安裝cwRsyncServer_4.0.5_Installer沟绪,過程沒有什么復雜的一路默認就好了刮便,截圖如下:
接下來就是打開cwRsyncServer安裝路徑C:\Program Files (x86)\ICW,其中rsyncd.conf是cwRsyncServer配置文件
以“記事本”方式打開rsyncd.conf配置文件绽慈,將原有內(nèi)容清空恨旱,粘貼以下內(nèi)容(跟linux的rsync server配置基本沒有太大的區(qū)別,參數(shù)都是相通的)久信。
use chroot = false
strict modes = false
hosts allow = *
uid = 0
gid = 0
max connections = 10
strict modes = false
log file = rsyncd.log
lock file = rsyncd.lock
[itbiancheng]
path = /cygdrive/d/www
read only = true
transfer logging = yes
auth users = 123
secrets file = /cygdrive/c/Program Files (x86)/ICW/rsyncd.secrets
comment = 內(nèi)網(wǎng)拉取
部分參數(shù)解釋:
hosts allow = *:* 表示任何電腦都可以進行連接窖杀,只允許指定IP進行連接需要把星號換成指定IP即可
log file = rsyncd.log:日志路徑漓摩,當前目錄下
[itbiancheng]:模塊名稱
path = /cygdrive/d/www:要同步的路徑裙士,如果是e盤www文件夾,則path = /cygdrive/e/www管毙,前面必須加上cygdrive腿椎,這點和linux不同
read only = true:不可寫,只讀
auth users = 123:其中123是用戶名
secrets file = /cygdrive/c/Program Files (x86)/ICW/rsyncd.secrets:為用戶和密碼的文件夭咬,是需要手動創(chuàng)建的啃炸,格式為123:654321,123是帳號卓舵,654321是密碼南用。PS:如果不想加上用戶和密碼,可以直接不寫auth users和secrets file掏湾。
comment = 內(nèi)網(wǎng)拉裙妗:這里是個注釋,你寫什么都可以
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? rsyncd.secrets 文件 格式
注意:
默認rsync使用873端口融击,自行開啟windows873端口筑公,如果想使用其他端口自行添加port參數(shù)。
全部配置好后尊浪,自行開啟rsync服務匣屡,計算機右鍵-管理-服務和應用程序-服務封救,在服務中找到RsyncServer,更改成自動啟動捣作,然后確認即可誉结。
第二步:客戶端配置:
我這里將cwRsyncClient解壓到了D盤cwRsync目錄
在D:\cwRsync目錄下創(chuàng)建一個mima.txt,內(nèi)容為654321
在D:\cwRsync目錄下創(chuàng)建一個bat批處理券躁,內(nèi)容如下:
cd D:\cwRsync
rsync -azvP --password-file=/cygdrive/d/cwRsync/mima.txt 123@192.168.2.252::itbiancheng /cygdrive/d/www
pause
然后運行這個bat批處理就可以進行同步了搓彻,如果無法同步,就在原有bat批處理文件中添加pause嘱朽,然后再次運行旭贬,查看報錯信息
常見報錯問題可以參考:此鏈接
至此windows下使用rsync進行同步配置完成,總體來講和linux區(qū)別不大搪泳,參數(shù)都是互通的
上面的做法,每次同步都要手動運行bat文件, 要想做到定時同步,就需要用到windows任務計劃程序
四.通過計劃任務客戶端定時同步文件
參考文章: https://www.itbiancheng.com/linux/4891.html