sersync+rsync實(shí)時(shí)同步數(shù)據(jù)

rsync是linux系統(tǒng)中的數(shù)據(jù)鏡像備份工具。支持本地復(fù)制,或者與其他SSH、rsync主機(jī)同步。rsync使用所謂的"Rsync算法"進(jìn)行數(shù)據(jù)同步,這個(gè)算法只傳送兩個(gè)文件的不同部分,而不是每次都整份傳送,因此速度相當(dāng)快。
Sersync是一個(gè)利用Inotify與Rsync技術(shù)實(shí)現(xiàn)對服務(wù)器數(shù)據(jù)實(shí)時(shí)復(fù)制的解決方案。
Sersync特性:
使用C++編寫,支持對監(jiān)控事件的過濾功能。
采用XML配置文件,然后由守護(hù)進(jìn)程啟動(dòng),配置起來比Inotify-tools更簡單。
使用多線程進(jìn)行復(fù)制,即可以并發(fā)復(fù)制多個(gè)不同文件。
Sersync自帶出錯(cuò)處理機(jī)制,通過失敗隊(duì)列對出錯(cuò)的文件重新進(jìn)行復(fù)制。
Sersync自帶crontab功能,可實(shí)現(xiàn)對失敗隊(duì)列中的文件定時(shí)整體復(fù)制。
Sersync自帶socket與HTTP的協(xié)議擴(kuò)展,可以滿足有特殊需求的公司二次開發(fā)。
1、rsync部署
1.1 安裝rsync
1.2 rsync配置
Rsync默認(rèn)使用873端口,需關(guān)閉防火墻后開通防火墻策略。
rsyncd.conf配置如下
1.3 創(chuàng)建data共享目錄
此文件夾為1.2章節(jié)中rsync配置的data目錄,如存在則無需創(chuàng)建。
1.4 創(chuàng)建密碼文件
1.4.1 服務(wù)端
rsync_user 是 1.2 配置文件中的 auth users,密碼可以任意內(nèi)容。
必須設(shè)置600權(quán)限
1.4.2 客戶端
客戶端與服務(wù)端創(chuàng)建密碼文件格式不同,用于上傳或下載文件時(shí)做認(rèn)證用途
須設(shè)置600權(quán)限
1.5 啟動(dòng)rsync
1.6 文件上傳下載
2 sersync部署
2.1 sersync下載
解壓文件:
2.2 創(chuàng)建sersync目錄
2.3 移動(dòng)sersync解壓后的文件
2.4 配置sersync
2.5 啟動(dòng)sersync
2.6 停止sersync
3 多目錄同步
多目錄同步時(shí)首先需要在rsync.conf配置中創(chuàng)建多個(gè)共享目錄,配置如下:
3.2 sersync配置
創(chuàng)建多個(gè)sersync的confxml配置,多個(gè)confxml不能重名,例如:confxml_one.xml、confxml_two.xml,并修改配置文件中相應(yīng)的配置指向不同的目錄。
最后啟動(dòng)多個(gè)sersync程序,并分別指定配置文件即可。
4 雙向同步
如果需要服務(wù)器之間雙向同步,則在兩臺(tái)服務(wù)器中同時(shí)部署配置sersync和rsync即可。