rsync-Inotify文件數據實時同步

*簡單說明
rsync:
文件複製工具,可以支持遠程之間數據壓縮後高效傳輸
Inotify:
爲用戶態程序提供了文件系統事件通告機制,目前已經集成到內核中
Inotify-tools:
就是提供的用戶態監控文件系統的工具,用來實現對文件系統的實時監控。

**注意
(1)安裝Inotify-tools後需要使用ldconfig 加載動態模塊;
(2)在客戶端出現denied顯現是多數是用戶權限出問題了;
(3)理解“模塊”,就是rsyncd.conf中[ ]中的名稱;
(4)在實時檢測到信息後就應該觸發同步機制;
(5)同步數據方案的安全性、完整性;

此案例是解決集羣中多臺實際應用服務器(real app server)的數據一致性問題
1、安裝rsync
編譯安裝與yum源安裝均可,服務端和客戶段使用yum
yum install rsync

2、服務端配置
(1)創建同步數據的目錄
mkdir /TEST
(2)手動創建配置文件 vi /etc/rsyncd.conf

motd file = /etc/rsyncd.motd
transfer logging = yes
log file = /var/log/rsyncd.log
pid file = /var/log/rsyncd.pid
lock file = /var/log/rsyncd.lock
port = 873  #監聽端口
address = 192.168.0.5 #監聽地址
uid = root #注意此處用戶與用戶組,同步時可能遇到用戶權限問題導致同步異常
gid = root
use chroot = yes #是否使用根目錄重定向
read only = no  #對模塊中定義的目錄是否只具有可權限
max connections = 5
[shareCommonDir] #模塊名稱定義,在同步路徑中使用
comment = rsynchrounous dir  #提示信息
path = /TEST #模塊的實際路徑
ignore errors #忽略IO錯誤
exclude = KingRedfly/  #添加例外路徑 
auth users = root #認證的用戶
secrets file = /etc/rsyncd.secrets #用戶與密碼認證文件
hosts allow=192.168.0.6/24  192.168.0.5/24  1.1.1.5/24 1.1.1.6/24 127.0.0.1/24 ACL
hosts deny=*
list = false 

(3)其他配置
用戶與密碼文件
echo “wanghongfei:wanghongfei”>/etc/rsyncd.secrets
用戶與密碼文件權限,在客戶段中密碼文件權限如果設置錯誤(如不是600而是777則提示錯誤)
chmod 600 /etc/rsyncd.secrets
歡迎信息
echo “Welcome to Demo”>/etc/rsyncd.motd
設置開機時,rsync以守護進程方式運行
echo “/usr/bin/rsync –daemon”>>/etc/rc.local
防火牆配置注意通過主配置文件中的監聽端口和地址配置訪問策略

3、客戶段設置
(1)安裝Inotify-tools
確認已安裝rsync,通過編譯安裝方式安裝Inotify-tools
地址:https://github.com/rvoicilas/inotify-tool
(2)編寫自動同步腳本
當客戶段(發佈數據,向所有real Server發佈數據),保證數據同步

vi /inotify_rsync.sh
#!/bin/sh
SRC=/BACKUP/
DEST1=/TEST
IP1=192.168.0.5
IP2=192.168.0.6
rsyncUser=root
passfile=/etc/rsync.pass
[ ! -e $passfile ] && exit 2
inotifywait -mrq --timefmt '%y-%m-%d %H:%M:%S' --format '%T %w%f %e' --event modify,create,move,delete,\
attrib $SRC | while read line
do
echo "$line">/dev/null 2>/dev/null
/usr/bin/rsync -aptogzv --delete --progress --password-file=$passfile $SRC $rsyncUser@${IP1}::shareCommonDir >>/var/log/inotity.log  2>/dev/null
done
發佈了31 篇原創文章 · 獲贊 41 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章