rsync + inotify
生活随笔
收集整理的這篇文章主要介紹了
rsync + inotify
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
服務(wù)器端配置:
1 服務(wù)器10.130.193.178配置
1) 安裝服務(wù)器軟件xinetd超級守護進程.調(diào)用rsync這個進程.
? # yum -y install xinetd
?
? ? ? ? ? ?# vim /etc/xinetd.d/rsync
? 將 disabled = yes 改為 disabled = no 表示啟用這個進程
2) 給rsync提供配置文件 /etc/rsyncd.conf
??
? # vim /etc/rsyncd.conf
??
? # Global Settings?
?
? uid = nobody 表示啟動rsync這個服務(wù)的用戶?
? gid = nobody
? use chroot = no 表示是否鎖定用戶到指定目錄
? max connections = 10 表示最大的并發(fā)連接數(shù)目
? strict modes = yes 表示開啟嚴(yán)格檢查模式
? pid file = /var/run/rsyncd.pid
? log file = /var/log/rsyncd.log
? # Directory Settings
? [mydata] 這個是sync_directory
? path = /mydata/data 這個是定義發(fā)布的目錄
? ignore errors = yes 表示如果出現(xiàn)錯誤就忽略繼續(xù)復(fù)制
? read only = no 表示是否允許推送數(shù)據(jù)到服務(wù)器
? write only = no 表示是否允許從服務(wù)器拉取數(shù)據(jù)
? hosts allow = 10.130.193.0/24 表示允許的IP地址
? hosts deny = * 表示拒絕的IP
# 注意:如果以上的2個參數(shù)一起出現(xiàn),是這樣的,就是先匹配hosts allow 如果匹配成功就通過,如果匹配不成功就匹配hosts deny ,如果hosts deny也沒有匹配成功那么使用默認(rèn)的規(guī)則通過.
? ?list = no
? auth users = username 指定虛擬用戶
? secrets file = /etc/rsyncd.passwd
? uid = root 這個是我們在服務(wù)器上操作發(fā)布目錄的用戶 如果不寫那么就是nobody這個用戶
? gid = root
3) 提供密碼文件 /etc/rsyncd.passwd這個文件是密文存儲數(shù)據(jù)的所以文件的權(quán)限是600
? # vim /etc/rsyncd./conf
? rsyncduser:123456
? # chmod 600 /etc/rsyncd.conf
4) 啟動服務(wù)
service xinetd start
ss -tnl 查看rsync監(jiān)聽的端口號碼是 tcp:873
2 服務(wù)配置 10.130.193.179 同上.
3 客戶端的配置.
1) 安裝inotify-tools工具包
? # tar xvf inotify-tools-3.14.log -C /usr/src
? # cd /usr/src/inotify-tools-3.14
? # ./configure?
? # make && make install
? #ln -sv /usr/local/inotify/include /usr/include/inotify
?
? ?# vim /etc/ld.so.conf.d/inotify
? /usr/local/inotify/lib
? # ldconfig?
? # vim /etc/profile.d/inotify.sh
? export PATH=$PATH:/usr/local/inotify/bin
2) 編寫inotify腳本
? vim inotify.sh
??
? #!/bin/bash
? inotifywait -mrq --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %w%f %e' -e modify,delete,create,attrib /mydata/data | while read file?
do?
rsync -az --progress --delete /mydata/data/ rsync://rsyncduser@10.130.193.178/mydata && \
rsync -az --progress --delete /mydata/data/ rsync://rsyncduser@10.130.193.179/mydata?
echo ${file} >> /var/log/rsyncd.log 2>&1
done
配置結(jié)束
--------------------------------------------------------------
inotifywait 參數(shù):
inptifywait [option] -e events dest_path
-m motifier 表示始終在指定木鄰居監(jiān)測
-r recursive 表示遞歸監(jiān)測
-q quiet 表示靜默模式
--timesfmt 表示時間的格式
--format 表示輸出數(shù)據(jù)的格式
-e 指定監(jiān)測的事件類型
rsync 的工作模式:
1 本地shell模式?
-a archive 表示歸檔 就是保留文件的原有屬性
--progress 表示顯示傳輸文件的進度
2 遠(yuǎn)程shell模式
-a archive 表示歸檔
--progress
-e ssh 使用ssh對數(shù)據(jù)加密
-z 對數(shù)據(jù)加密傳輸
3 列表模式
4 服務(wù)器模式
-a archive 表示歸檔--progress?
-z 加密傳輸
--delete 就是如果源目錄參數(shù)后面有/ 那么這個參數(shù)表示要刪除目標(biāo)目錄中多余的文件
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的rsync + inotify的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: crontab周期性任务计划
- 下一篇: RPC + NFS