Rsync(remote sync)是UNIX及類UNIX平臺下一款神奇的數(shù)據(jù)鏡像備份軟件,它不像FTP或其他文件傳輸服務(wù)那樣需要進(jìn)行全備份,Rsync可以根據(jù)數(shù)據(jù)的變化進(jìn)行差異備份,從而減少數(shù)據(jù)流量,提高工作效率。你可以使用它進(jìn)行本地數(shù)據(jù)或遠(yuǎn)程數(shù)據(jù)的復(fù)制,Rsync可以使用SSH安全隧道進(jìn)行加密數(shù)據(jù)傳輸。Rsync服務(wù)器端定義源數(shù)據(jù),Rsync客戶端僅在源數(shù)據(jù)發(fā)生改變后才會從服務(wù)器上實(shí)際復(fù)制數(shù)據(jù)至本地,如果源數(shù)據(jù)在服務(wù)器端被刪除,則客戶端數(shù)據(jù)也會被刪除,以確保主機(jī)之間的數(shù)據(jù)是同步的。Rsync使用TCP 873端口。
10年積累的網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有大理州免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。使用CentOS 7系統(tǒng)安裝部署Rsync非常方便,安裝光盤以及YUM源中都提供了rsync軟件包,使用YUM方式安裝即可。下面的案例演示了如何共享/common目錄,為此,我們需要創(chuàng)建/common目錄,并復(fù)制一些測試文件存放在該目錄下。本例需要手動創(chuàng)建配置文件/etc/rsync.conf,該文件具體的語法格式在后面有詳細(xì)的描述。
[root@centos7 ~]# yum -y install rsync
[root@centos7 ~]# mkdir /common; cp /etc/init.d/* /common/
[root@centos7 ~]# vim /etc/rsync.conf
#/etc/rsyncd.conf #設(shè)置服務(wù)器信息提示文件名稱,在該文件中編寫提示信息 motd file = /etc/rsyncd.motd #開啟Rsync數(shù)據(jù)傳輸日志功能 transfer logging = yes #設(shè)置日志文件名稱,可以通過log format參數(shù)設(shè)置日志格式 log file =/var/log/rsyncd.log #設(shè)置Rsync進(jìn)程號保存文件名稱 pid file =/var/run/rsyncd.pid #設(shè)置鎖文件名稱 lock file =/var/run/rsync.lock #設(shè)置服務(wù)器監(jiān)聽的端口號,默認(rèn)為873 port = 873 #設(shè)置服務(wù)器所監(jiān)聽網(wǎng)卡接口的IP地址,這里服務(wù)器IP地址為192.168.0.254 address = 192.168.0.254 #設(shè)置進(jìn)行數(shù)據(jù)傳輸時所使用的賬戶名稱或ID號,默認(rèn)使用nobody uid = nobody #設(shè)置進(jìn)行數(shù)據(jù)傳輸時所使用的組名稱或GID號,默認(rèn)使用nobody gid = nobody #設(shè)置user chroot為yes后,rsync會首先進(jìn)行chroot設(shè)置,將根映射到path參數(shù)路徑下,對客戶 #端而言,系統(tǒng)的根就是path參數(shù)所指定的路徑。但這樣做需要root權(quán)限,并且在同步符號 #連接資料時僅會同步名稱,而內(nèi)容將不會同步。 use chroot = no #是否允許客戶端上傳數(shù)據(jù),這里設(shè)置為只讀。 read only = yes #設(shè)置并發(fā)連接數(shù),0代表無限制。超出并發(fā)數(shù)后,如果依然有客戶端連接請求,則將會收 #到稍后重試的提示消息 max connections = 10 #模塊,Rsync通過模塊定義同步的目錄,模塊以[name]的形式定義,這與Samba定義共 #享目錄是一樣的效果。在Rsync中也可以定義多個模塊 [common] #comment定義注釋說明字串 comment = Web content #同步目錄的真實(shí)路徑通過path指定 path = /common #忽略一些IO錯誤 ignore errors #exclude可以指定例外的目錄,即將common目錄下的某個目錄設(shè)置為不同步數(shù)據(jù) #exclude = test/ #設(shè)置允許連接服務(wù)器的賬戶,賬戶可以是系統(tǒng)中不存在的用戶 auth users = tom,jerry #設(shè)置密碼驗證文件名稱,注意該文件的權(quán)限要求為只讀,建議權(quán)限為600,僅在設(shè)置auth users #參數(shù)后有效 secrets file = /etc/rsyncd.secrets #設(shè)置允許哪些主機(jī)可以同步數(shù)據(jù),可以是單個IP,也可以是網(wǎng)段,多個IP與網(wǎng)段之間使用空 #格分隔 hosts allow=192.168.0.0/255.255.255.0 #設(shè)置拒絕所有(除hosts allow定義的主機(jī)外) hosts deny=* #客戶端請求顯示模塊列表時,本模塊名稱是否顯示,默認(rèn)為true list= false接下來,通過echo的方式創(chuàng)建密碼文件/etc/rsyncd.secrets,在該文件中輸入兩個賬戶:tom賬戶的密碼是pass,jerry賬戶的密碼是111。需要注意的是,密碼文件不可以對所有的人開放可讀權(quán)限,為了安全,建議設(shè)置權(quán)限為600。創(chuàng)建服務(wù)器提示信息文件并向該文件中導(dǎo)入歡迎詞。由于Rsync默認(rèn)不是開機(jī)啟動服務(wù),為了實(shí)現(xiàn)開機(jī)啟動Rsync服務(wù),我們可以通過echo將rsync --daemon追加至開機(jī)啟動文件/etc/rc.local。最后通過設(shè)置防火墻開啟873端口的入站數(shù)據(jù)請求。
[root@centos7 ~]# echo "tom:pass" > /etc/rsyncd.secrets
[root@centos7 ~]# echo "jerry:111" >> /etc/rsyncd.secrets
[root@centos7 ~]# chmod 600 /etc/rsyncd.secrets
[root@centos7 ~]# echo “welcome to access” >/etc/rsyncd.motd
[root@centos7 ~]# rsync --daemon
[root@centos7 ~]# echo “/usr/bin/rsync --daemon” >> /etc/rc.local
[root@centos7 ~]# firewall-cmd --permanent --add-port=873/tcp
#添加防火墻規(guī)則,允許873端口的數(shù)據(jù)訪問
客戶端同步數(shù)據(jù)
現(xiàn)在讓我們開始同步數(shù)據(jù)吧,在客戶端主機(jī)中同樣是使用rsync命令進(jìn)行初始化數(shù)據(jù)傳輸,使用同樣的程序,但客戶端主機(jī)不需要--daemon選項。
[root@centos7 ~]# yum -y install rsync
[root@centos7 ~]# rsync-vzrtopg --progress tom@192.168.0.254::common /test
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。