實驗環境:centos7.6,2g記憶體,50g硬碟大小,虛擬機器服務端ip:172.16.1.31 客戶端ip:172.16.1.41
1)需要部署好rsync守護程序服務,實現資料傳輸
2)需要部署好inotify服務,實現目錄中資料變化監控
3)將rsync服務和inotify服務建立聯絡,將變化的資料進行實時備份傳輸
yum -y insatll inotify-tools
一:inotifywait — 監控目錄資料資訊變化使用方法:
inotifywait [引數]
監控的目錄
-m --monitor
實現一直監控目錄的資料變化
-r --recursive
進行遞迴監控
-q --quiet
儘量減少資訊的輸出
-e --event
指定監控的事件資訊
- -format
指定資訊輸出的格式,%t:時間,%w目錄,%f檔案,%e事件資訊
- -timefmt
指定輸出的時間資訊格式
inotifywait演示
1.建立檔案
2.刪除檔案
3.修改檔案內容
4.指定監控的事件
從中我們可以看到對檔案不同的操作,通過監控會產生不同的事件,這些事件有事件
說明access
訪問,讀取檔案。
modify
修改,檔案內容被修改。
attrib
屬性,檔案元資料被修改。
move
移動,對檔案進行移動操作。
create
建立,生成新檔案
open
開啟,對檔案進行開啟操作。
close
關閉,對檔案進行關閉操作。
delete
刪除,檔案被刪除。
inotify監控命令格式:inotifywait -mrq --timefmt "%f" --format "%t %w %f 事件資訊:%e" /data -e create
二:inotifywatch —對監控資訊進行統計inotifywait [引數]
監控的目錄
-z -zero
輸出**的行和列,即使元素為空
-r -recursive
監視乙個目錄下的所有子目錄
-t -timeout
設定超時時間
-e -event
只監聽指定的事件
安裝包鏈結
2.解壓
unzip sersync_installdir_64bit.zip
tar zxvf sersync_installdir_64bit.tar.gz
mkdir /usr/local/sersync/conf/confxml.xml ---配置檔案
mkdir /usr/local/sersync/bin/sersync2 ---命令目錄
mkdir /usr/local/sersync/logs ---日誌目錄
/tmp/rsync_fail_log.sh ---錯誤儲存檔案
1)新增環境變數,方便我們使用sersync
vim /etc/profile
export path="$path:/usr/local/sersync/bin"
2)檢視sersync的使用方法
sersync -h
主要看以下三個:
引數-d: 啟用守護程序模式
引數-r: 在監控前,將監控目錄與遠端主機用rsync命令推送一遍 進行同步測試
引數-o: 指定配置檔案,預設使用confxml.xml檔案
-o /usr/local/sersync/conf/confxml.xml
sersync -dro /usr/local/sersync/conf/confxml.xml 啟動實時同步服務
出現以下內容,說明啟動成功
從下面兩張可以看到,服務端的/data目錄和客戶端的/backup目錄,裡面的檔案全部一致,說明實現了無差別實現同步
killall sersync
如果沒有killall,可以通過以下命令安裝
yum install -y psmisc
vim /etc/rc.local
sersync -dro /usr/local/sersync/conf/confxml.xml
到此,sersync實時同步服務部署已全部配置完 sersync實現實時同步
環境準備 主機名外網ip 內網ip 角色部署服務 web01 10.0.0.7 172.16.1.7 rsync的客戶端,nfs的客戶端,rsync,nfs,apache,php web02 10.0.0.8 172.16.1.8 rsync的客戶端,nfs的客戶端,rsync,nfs,apache...
企業實時同步方案 Sersync介紹
sersync 專案利用 inotify 和 rsync 技術實現對伺服器資料實時同步的解決方案,其中 inotify 用於監控 sersync 所在伺服器上檔案系統的事件變化,而 rsync 是目前廣泛使用的本地以及異地資料同步工具,其優點是只對變化的目錄資料操作,甚至是乙個檔案不同的部分進行同步...
基於sersync海量檔案實時同步
基於sersync海量檔案實時同步 專案需求 最近涉及到數百萬張從本地儲存遷移到雲儲存,為了使完成遷移,並保證無缺失,業務不中斷,決定採用實時同步,同步完後再做流量切換。在實時同步方案中進行了幾種嘗試。方案1 rsync inotify同步,最先想到的是此方案,先看下指令碼 此前在多台伺服器間同步 ...