新聞中心
Inotify是一個(gè) Linux特性,它監(jiān)控文件系統(tǒng)操作,比如讀取、寫入和創(chuàng)建。通過inotify實(shí)現(xiàn)數(shù)據(jù)的時(shí)時(shí)同步,所需要的應(yīng)用軟件inotify-tools。

創(chuàng)新互聯(lián)長期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為新市企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),新市網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
如果在shell環(huán)境下,可以安裝 yum install inotify-tools,安裝以后有兩個(gè)命令可以用inotifywait 和 inotifywatch,inotifywait 是需要使用的命令。
監(jiān)聽/usr/local/src 目錄:
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M'
--format '%T %w %f %e' -e modify,delete,create,attrib
/usr/local/src
參數(shù):
-
-m 持續(xù)監(jiān)聽
-
-r 使用遞歸形式監(jiān)視目錄
-
-q 減少冗余信息,只打印出需要的信息
-
-e 指定要監(jiān)視的事件,多個(gè)時(shí)間使用逗號隔開
-
–timefmt 時(shí)間格式
-
–format 監(jiān)聽到的文件變化的信息
-
–timefmt 說明:
-
ymd分別表示年月日,H表示小時(shí),M表示分鐘
–format說明:
如何使用Shell進(jìn)行文件監(jiān)控?如何使用Shell進(jìn)行文件監(jiān)控?
執(zhí)行上面的命令之后,在監(jiān)聽的目錄下創(chuàng)建一個(gè)1.txt文件,得到如下結(jié)果:
22/03/18 17:22 /usr/local/src/ 1.txt CREATE
22/03/18 17:22 /usr/local/src/ 1.txt ATTRIB
這個(gè)腳本的功能是循環(huán)監(jiān)聽文件或目錄的增刪改事件,當(dāng)事件發(fā)生執(zhí)行設(shè)置的腳本文件。
#!/bin/sh
# 監(jiān)視的文件或目錄
filename=$1
# 監(jiān)視發(fā)現(xiàn)有增、刪、改時(shí)執(zhí)行的腳本
script=$2
inotifywait -mrq --format '%e' --event create,delete,modify $filename | while read event
do
case $event in MODIFY|CREATE|DELETE) bash $script ;;
esac
done
shell腳本后臺執(zhí)行
nohup
使用nohup,其中test.sh為所執(zhí)行的腳本,out.txt為輸出信息的地方。
nohup sh test.sh>out.txt &
新聞名稱:通過Inotify監(jiān)控文件
本文來源:http://www.dlmjj.cn/article/ccodeoc.html


咨詢
建站咨詢
