cwRsyncServer從windows下數(shù)據(jù)實(shí)時同步到linux服務(wù)器上的實(shí)現(xiàn)過程
由于公司有兩臺windows服務(wù)器,開發(fā)在操作時一般也都是在這兩臺服務(wù)器上上傳一些數(shù)據(jù)或修改一些東西,而Linux上的服務(wù)器也要跟windows上的數(shù)據(jù)要保持一致而又不需要人為的實(shí)現(xiàn)這個過程,基于此過程,昨天花了點(diǎn)時間,完成了基本的測試實(shí)現(xiàn)過程,今天就把這過程給記錄下來,方便以后查看,以希望可以幫到還在困惑的朋友們。
第一步:在windows上的安裝cwRsyncServer4.1.0以及配置過程:
在windows上下載安裝包c(diǎn)wRsyncServer4.rar,這個不多解析,大家都懂,要是在虛擬機(jī)上安裝windowd服務(wù)器的,如果你的windows服務(wù)器上不了網(wǎng),那就在本機(jī)上下載好持拷貝過去就好了,如果還不知道怎么拷貝到windows上去的話那就在linux上建個ftp服務(wù)器,把文件丟里面去共享就可以拷貝了。
在拷貝中如果出現(xiàn)這個問題:windows 2003當(dāng)前的安全設(shè)置不允許從該位置下載文件的解決方案:
只需要設(shè)置Internet選項(xiàng)-->安全-->自定義級別 找到下載項(xiàng)中的“文件下載”,啟用即可。
如下是cwRsyncServer安裝過程,一直點(diǎn)下一步就可以了,這里就不一一貼出來了:
這里需要創(chuàng)建一個帳戶,就用默認(rèn)的就好了,設(shè)置一個自己的密碼就OK了。
#p#
安裝完成之后下面開始配置,打開安裝目錄下的文件目錄:C:\Program Files (x86)\ICW,修改rsyncd.conf配置文件的內(nèi)容為以下配置;
這里要注意的是,如果不寫uid=0,和gid=0的話就,在遠(yuǎn)程連接時就會出現(xiàn)以下的情況:
到這里了就要在F盤下新建一個rsyncdata的目錄,這個目錄就是指它里面的所有數(shù)據(jù)同步到linux的指定目錄去的,也就是windows下的rsyncd.conf配置文件的[rsyncdata]模塊對應(yīng)的文件,新建好之后我們還需要改一些配置:
- [rsyncdata] #指定模塊的頭信息
- path = /cygdrive/f/rsyncdata #需要同步數(shù)據(jù)的目錄,這個目錄指F盤下的rsyncdata目錄
- read only = true #是否為只讀
- list = no
- hosts allow = 10.17.1.200,10.17.1.88,10.17.1.60 #允許訪問的主機(jī),多個用逗號分隔
- auth users = rsync #指定認(rèn)證的用戶名
- secrets file = /cygdrive/f/rsyncd.secrets #指定認(rèn)證用戶的密碼文件存放路徑,這個路徑指F盤下的rsyncd.secrets,一會需要新建這個文件
還需要修改一下rsyncdata這個目錄的一些相關(guān)屬性信息,右鍵這個文件選屬性:
輸入完SvcCWRSYNC這個用戶名后點(diǎn)“檢查名稱”就可以匹配上了,再點(diǎn)確定就OK了。
#p#
最后再改一下這個文件對這個用戶的訪問權(quán)限:
選中我的電腦--右鍵管理---服務(wù)和應(yīng)用--服務(wù),找到RsyncSever,雙擊--啟動,把這個服務(wù)器起動起來:
到這里應(yīng)該是說windows下的就配置完了,但是要注意的是如果你的linux需要用telnet來連接到windows上來的話那windows上的防火墻記得要關(guān)閉,否則很可能連不上去,也可以在本上的測試一下,出現(xiàn)以下情況就說明可以連接上去了,說明windows服務(wù)可用了。
在cmd下輸入你windows的本機(jī)地址和rsync的監(jiān)聽端口,它的默認(rèn)監(jiān)聽的端口是873,回車:
出現(xiàn)@RSYNCD:30.0這個就說明可以連接上去了。
#p#
二、Rsync客戶端配置,這個就需要linux上做配置了,相關(guān)的配置見如下過程:
1、查看selinux機(jī)制,關(guān)閉selinux
- [root@node1 ~]# getenforce
- Disabled
2、安裝Rsync客戶端軟件
- [root@node1 ~]# yum install rsync xinetd
3、需要安裝這兩個軟件包就可以了,安裝好之后就要修改一點(diǎn)配置文件了:
- [root@node1 ~]# vi /etc/xinetd.d/rsync #編輯配置文件,設(shè)置開機(jī)啟動rsync ,Centos上的rsync使用xinetd啟用的
將disable=yes,改為no
- service rsync
- {
- disable = no
- socket_type = stream
- wait = no
- user = root
- server = /usr/bin/rsync
- server_args = --daemon
- log_on_failure += USERID
- }
- /etc/init.d/xinetd start #啟動xinetd這個服務(wù)
4、修改之后就遠(yuǎn)程連接測試一下,記得把windows的防火墻給關(guān)閉了哦,要不然很可能會連接不上的,或都在windows防火墻上開放873這個端口
OK,說明連接到windows上成功了,那接下來我們就創(chuàng)建一個與windows下同步的目錄了:
- [root@node1 ~]# mkdir pv /rsyncdata/data
為了同步數(shù)據(jù)時不用每次都不手動輸入密碼,我們在客戶端(linux下)也創(chuàng)建一個和服務(wù)端(windows)一樣的密碼文件(此文件路徑和密碼要與服務(wù)器端的一樣,客戶端不用寫名字)
- [root@node1 ~]# vim /etc/rsyncd.secrets #只需要寫上服務(wù)器端上的用戶密碼就可以了
- [root@node1 ~]# chmod 600 /etc/rsyncd.secrets #改一下權(quán)限
5、到這里我們就可以寫命令來拉取windows服務(wù)器端上的數(shù)據(jù)了:
[root@node1 ~]# rsync -vazrtopqg --delete --password-file=/etc/rsyncd.secrets rsync@10.17.1.88::rsyncdata/* /rsyncdata/data/
傳輸成功,這里說明一下這幾個參數(shù)表示什么:
- -v, --verbose #詳細(xì)模式輸出
- -q, --quiet #精簡輸出模式
- -a, --archive #歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD
- -r, --recursive #對子目錄以遞歸模式處理
- -o, --owner #保持文件屬主信息
- -g, --group #保持文件屬組信息
- -t, --times #保持文件時間信息
- --delete #刪除那些DST中SRC沒有的文件
- --password-file=FILE #從FILE中得到密碼
6、為了一是每次有數(shù)據(jù)修改時都要手動去同步一步,我們把這個命令寫成一個腳本,再添加一個任務(wù)計(jì)劃,這個就可以實(shí)現(xiàn)自動同步數(shù)據(jù)了;
- [root@node1 ~]# crontab -e
- * * * * * /bin/bash /root/rsync.sh &> /dev/null #我們設(shè)置每分鐘同步一次
OK了,到這里我們的整個的配置算是完成了,可能還做得不到的地方,希望朋友們發(fā)現(xiàn)了給我指出哦,在此先謝過了。