實時同步rsync+inotify

1倦挂、環(huán)境準備

操作系統(tǒng):CentOS 7
源服務器地址:192.168.47.129
目標服務器地址:192.168.47.131
目的:將源服務器上的/test目錄實時同步到目標服務器上的/test目錄下
PS:需要配置好端口和安全規(guī)則威始,源服務器去同步目標服務器上的內(nèi)容罗珍。

配置源服務器:192.168.47.129

1、安裝和啟動rsync玄柏,創(chuàng)建用于測試目錄/test

[root@rsync-server ~]# yum -y install rsync
[root@rsync-server ~]# systemctl start rsyncd
[root@rsync-server ~]# mkdir /test

2、創(chuàng)建rsync.conf配置文件,添加以下代碼

[root@rsync-server ~]# vim  /etc/rsyncd.conf 
log file = /var/log/rsyncd.log            #遇到錯誤可以查看?志,很詳細
pidfile = /var/run/rsyncd.pid 
lock file = /var/run/rsync.lock  
secrets file = /etc/rsync.pass             #?戶認證配置?件藏雏,??保存? 戶名稱和密碼,后?會創(chuàng)建這個?件 
motd file = /etc/rsyncd.Motd               #rsync啟動時歡迎信息頁面文件位置
[test]                                     #同步模塊名稱作煌,自定義(不要太短了)
path = /test                               #rsync服務端數(shù)據(jù)目錄路徑 
comment = test                             #模塊名稱掘殴,和[test]?樣 
uid = root                                 # 需要兩服務器目錄和文件的屬主屬組 
gid = root                                 # 需要兩服務器目錄和文件的屬主屬組
 port=873                                  #rsync 默認端? 
use chroot = no 
read only = no  
list = no                                  #不顯示rsync服務端資源列表 
max connections = 200 
timeout = 600
auth users = user1                         #執(zhí)行數(shù)據(jù)同步的?戶名,可以設置多個,?英?狀態(tài)下逗號隔開
#hosts allow = 192.168.47.130             #允許進?數(shù)據(jù)同步的客戶端IP地 址,可以設置多個抖部,?英?狀態(tài)下逗號隔開 
#hosts deny = 192.168.47.132              #不允許同步的ip地址,?逗號隔 開

3病瞳、創(chuàng)建用戶認證文件

[root@rsync-server ~]# vim /etc/rsync.pass
user1:123456                             #格式揽咕,?戶名:密碼,可以設置多個套菜,每??個 ?戶名:密碼 

4亲善、設置?件權限 , 重啟rsync

[root@rsync-server ~]# chmod 600 /etc/rsyncd.conf     #設置?件所有者讀取、寫?權限 
[root@rsync-server ~]# chmod 600 /etc/rsync.pass      #設置?件所有者讀取逗柴、寫?權限
[root@rsync-server ~]# systemctl restart rsyncd
配置目標服務器:192.168.47.131

1蛹头、安裝rsync

[root@rsync-agent ~]# yum -y install rsync xinetd
[root@rsync-agent ~]# systemctl start rsyncd xinetd

2、配置密碼文件

[root@rsync-agent ~]# vim /etc/passwd.txt 
123456   #密碼 
[root@rsync-agent ~]# chmod 600 /etc/passwd.txt #設置?件權限嚎于,只設置?件所有者具 有讀取掘而、寫?權限 

注意:這?的密碼和客戶端的密碼是?樣的

配置完成,測試同步
[root@rsync-agent ~]# rsync -avH --port=873 --progress --delete  /test user1@192.168.47.129::test --password-file=/etc/passwd.txt 

安裝Inotify-tools?具于购,實時觸發(fā)rsync進?同步

1袍睡、查看服務器內(nèi)核是否?持inotify (下?輸出說明?持)

[root@rsync-server ~]# ll /proc/sys/fs/inotify
total 88
-rw-r--r-- 1 root root 0 Nov  1 20:47 max_queued_events
-rw-r--r-- 1 root root 0 Nov  1 20:47 max_user_instances
-rw-r--r-- 1 root root 0 Nov  1 20:47 max_user_watches

2、安裝inotify-tools

[root@rsync-server ~]# wget http://github.com/downloads/rvoicilas/inotifytools/inotify-tools-3.14.tar.gz 
[root@rsync-server ~]# tar zxvf inotify-tools-3.14.tar.gz 
[root@rsync-server ~]# cd inotify-tools-3.14 
[root@rsync-server inotify-tools-3.14]# ./configure --prefix=/usr/local/inotify && make && make install 

3肋僧、設置系統(tǒng)環(huán)境變量斑胜,添加軟連接

[root@rsync-server inotify-tools-3.14]# echo "PATH=/usr/local/inotify/bin:$PATH" >>/etc/profile.d/inotify.sh 
[root@rsync-server inotify-tools-3.14]# source /etc/profile.d/inotify.sh 
[root@rsync-server inotify-tools-3.14]# echo "/usr/local/inotify/lib" >/etc/ld.so.conf.d/inotify.conf 
[root@rsync-server inotify-tools-3.14]# ln -s /usr/local/inotify/include  /usr/include/inotify
[root@rsync-server inotify-tools-3.14]# ln -s /usr/local/inotify/lib/libnotifytools.so.0 /usr/lib64 

4、修改inotify默認參數(shù)(inotify默認內(nèi)核參數(shù)值太?)

[root@rsync-server inotify-tools-3.14]# vim /etc/sysctl.conf   #添加以下代碼 
fs.inotify.max_queued_events=99999999 
fs.inotify.max_user_watches=99999999 
fs.inotify.max_user_instances=65535 

5嫌吠、創(chuàng)建腳本止潘,實時觸發(fā)rsync進?同步

[root@rsync-server inotify-tools-3.14]# vim /usr/local/inotify/rsync.sh 
#!/bin/bash 
srcdir="/test" 
dstdir="test" 
excludedir="/usr/local/inotify/exclude.list" 
rsyncuser="user1" 
rsyncpassdir="/etc/passwd.txt" 
dstip="192.168.47.131"
 
for ip in $dstip 
do 
rsync -avH --port=873 --progress --delete --exclude
from=$excludedir $srcdir $rsyncuser@$ip::$dstdir --passwordfile=$rsyncpassdir 
done
 
/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e close_write,modify,delete,create,attrib,move $srcdir | while read file 
do 
    for ip in $dstip 
    do 
    rsync -avH --port=873 --progress --delete --exclude
from=$excludedir $srcdir $rsyncuser@$ip::$dstdir --passwordfile=$rsyncpassdir echo "${file} was rsynced" >> /tmp/rsync.log 2>&1 
    done 
done 

6、修改權限

[root@rsync-server inotify-tools-3.14]# mkdir -p /usr/local/inotify/exclude.list
[root@rsync-server inotify-tools-3.14]# chmod +x /usr/local/inotify/rsync.sh

腳本參數(shù)說明:
excludedir=/usr/local/inotify/exclude.list 不需要同步的?錄辫诅,如果有多個凭戴,每??寫?個?錄,使?相 對于同步模塊的路徑
7炕矮、設置腳本開機自動執(zhí)行

[root@rsync-server inotify-tools-3.14]# vim /etc/rc.d/rc.local  #編輯么夫,在最后添加?行
sh /usr/local/inotify/rsync.sh & #設置開機?動在后臺運行腳本 
[root@rsync-server inotify-tools-3.14]# chmod +x /etc/rc.d/rc.local 
[root@rsync-server inotify-tools-3.14]# systemctl enable rc-local 

至此,所有的配置就完成了肤视,這個項目還是很實用的档痪。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市邢滑,隨后出現(xiàn)的幾起案子腐螟,更是在濱河造成了極大的恐慌,老刑警劉巖困后,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乐纸,死亡現(xiàn)場離奇詭異,居然都是意外死亡摇予,警方通過查閱死者的電腦和手機锯仪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來趾盐,“玉大人,你說我怎么就攤上這事【壤穑” “怎么了久窟?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長本缠。 經(jīng)常有香客問我斥扛,道長,這世上最難降的妖魔是什么丹锹? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任稀颁,我火速辦了婚禮,結果婚禮上楣黍,老公的妹妹穿的比我還像新娘匾灶。我一直安慰自己,他們只是感情好租漂,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布阶女。 她就那樣靜靜地躺著,像睡著了一般哩治。 火紅的嫁衣襯著肌膚如雪秃踩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天业筏,我揣著相機與錄音憔杨,去河邊找鬼。 笑死蒜胖,一個胖子當著我的面吹牛消别,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播翠勉,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼妖啥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了对碌?” 一聲冷哼從身側響起荆虱,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎朽们,沒想到半個月后怀读,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡骑脱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年菜枷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叁丧。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡啤誊,死狀恐怖岳瞭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蚊锹,我是刑警寧澤瞳筏,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站牡昆,受9級特大地震影響姚炕,放射性物質發(fā)生泄漏。R本人自食惡果不足惜丢烘,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一柱宦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧播瞳,春花似錦掸刊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至骏全,卻和暖如春苍柏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背姜贡。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工试吁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人楼咳。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓熄捍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親母怜。 傳聞我的和親對象是個殘疾皇子余耽,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容