日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Ubuntu >内容正文

Ubuntu

ubuntu下inotifywait实现目录、文件监控【包含子目录】

發(fā)布時(shí)間:2023/12/3 Ubuntu 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu下inotifywait实现目录、文件监控【包含子目录】 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

inotifywait命令

【命令格式】: inotifywait [ options ] file1 [ file2 ] [ file3 ] [ … ]
【命令原意】: inote file system wait
【命令路徑】:
【命令功能】: 等待所監(jiān)聽(tīng)的文件系統(tǒng)觸發(fā)操作事件
【執(zhí)行權(quán)限】: root
【命令描述】:
眾所周知,Linux 桌面系統(tǒng)與 MAC 或 Windows 相比有許多不如人意的地方,為了改善這種狀況,開(kāi)源社區(qū)提出用戶態(tài)需要內(nèi)核提供一些機(jī)制,以便用戶態(tài)能夠及時(shí)地得知內(nèi)核或底層硬件設(shè)備發(fā)生了什么,從而能夠更好地管理設(shè)備,給用戶提供更好的服務(wù),如 hotplug、udev 和 inotify 就是這種需求催生的。Hotplug 是一種內(nèi)核向用戶態(tài)應(yīng)用通報(bào)關(guān)于熱插拔設(shè)備一些事件發(fā)生的機(jī)制,桌面系統(tǒng)能夠利用它對(duì)設(shè)備進(jìn)行有效的管理,udev 動(dòng)態(tài)地維護(hù) /dev 下的設(shè)備文件,inotify 是一種文件系統(tǒng)的變化通知機(jī)制,如文件增加、刪除等事件可以立刻讓用戶態(tài)得知,該機(jī)制是著名的桌面搜索引擎項(xiàng)目 beagle 引入的,并在 Gamin 等項(xiàng)目中被應(yīng)用。

Inotify 是一個(gè)內(nèi)核用于通知用戶空間程序文件系統(tǒng)變化的機(jī)制,是基于inode級(jí)別的文件系統(tǒng)監(jiān)控技術(shù),是一種強(qiáng)大的、細(xì)粒度的、異步的機(jī)制,它滿足各種各樣的文件監(jiān)控需要,不僅限于安全和性能,內(nèi)核要求2.6.13以上,inotify能監(jiān)控非常多的文件系統(tǒng)事件,通過(guò)監(jiān)控這些事件來(lái)監(jiān)控文件是否發(fā)生變更,然后通過(guò)rsync來(lái)更新發(fā)生變更的文件,Inotify 可以監(jiān)視的文件系統(tǒng)事件包括:

【常用選項(xiàng)】:
-h 或 --help 顯示幫助

@<file> Exclude the specified file from being watched.--exclude <pattern> 指定排除(忽略)部分文件或目錄,這些文件或目錄上不監(jiān)聽(tīng)任何事件,正則表達(dá)式書(shū)寫(xiě)(相對(duì)路徑)FMT: # --exclude 'Runtime' //忽略對(duì)Runtime目錄的事件監(jiān)聽(tīng)--excludei <pattern> 與--exclude相同,區(qū)別是此選項(xiàng)正則表達(dá)式忽略大小寫(xiě)-m 或 --monitor 持續(xù)保持監(jiān)聽(tīng)(如果不加此選項(xiàng),則監(jiān)聽(tīng)到一次后便退出)-d 或 --daemon 以守護(hù)進(jìn)程方式后臺(tái)運(yùn)行(除了在后臺(tái)運(yùn)行外,與-m選項(xiàng)一樣)-r 或 --recursive 遞歸監(jiān)聽(tīng)其下所有子目錄及文件--fromfile <file> Read files to watch from <file> or `-' for stdin.-o 或 --outfile <file> 將事件輸出到指定文件,而不輸出到屏幕FMT: -o /var/log/inotifywait.log-s 或 --syslog 將錯(cuò)誤發(fā)送到系統(tǒng)日志,而不是輸出到屏幕-q 或 --quiet 打印較少信息(僅打印事件)-qq 不打印任何信息(靜默方式)--format <fmt> 設(shè)置打印屏幕的格式,常見(jiàn)選項(xiàng):%T時(shí)間;%w觸發(fā)事件文件所在絕對(duì)路徑;%f觸發(fā)事件文件名稱;%e觸發(fā)的事件名稱;FMT: # --format '%T %f %e'--timefmt <fmt> 指定輸出時(shí)間內(nèi)容,相當(dāng)于將時(shí)間賦值給%TFMT: # --timefmt '%y-%m-%d %H:%M'-c 或 --csv 用CSV格式打印事件-t 或 --timeout <seconds> 指定一次性監(jiān)聽(tīng)時(shí)間,超時(shí)退出監(jiān)聽(tīng)(值為0表示永不超時(shí),單位:秒),不可與 -m -d 連用FMT: # -t 60 //設(shè)定監(jiān)聽(tīng)60秒,60秒內(nèi)監(jiān)聽(tīng)到事件立即退出,如果監(jiān)聽(tīng)不到事件60秒后也退出-e 或 --event <event1> [ -e|--event <event2> ... ] 指定要監(jiān)聽(tīng)的事件(多個(gè)事件用逗號(hào)分割)FMT: # -e 'create,delete,close_write,attrib,moved_to'

【總結(jié)提示】:

Exit status: 退出返回狀態(tài)值
0 - An event you asked to watch for was received.
正常收到監(jiān)聽(tīng)事件

1 - An event you did not ask to watch for was received (usually delete_self or unmount), or some error occurred.
意外收到一個(gè)未監(jiān)聽(tīng)的事件(如:文件自刪除,umount及其它情況)

2 - The --timeout option was given and no events occurred in the specified interval of time.
當(dāng)給定了超時(shí)選項(xiàng),設(shè)定時(shí)間內(nèi)沒(méi)有事件產(chǎn)生

Events: 事件
access file or directory contents were read 文件或目錄被(訪問(wèn))讀取r
modify file or directory contents were written 文件或目錄被寫(xiě)入w
attrib file or directory attributes changed 文件或目錄屬性變更【理由:chmod更改屬性】
close_write file or directory closed, after being opened in writeable mode 文件或目錄被寫(xiě)關(guān)閉【理由:文件內(nèi)容被更改】
close_nowrite file or directory closed, after being opened in read-only mode 文件或目錄以只讀方式打開(kāi)后關(guān)閉
close file or directory closed, regardless of read/write mode 文件或目錄被用編輯器(不管是讀或?qū)?關(guān)閉
open file or directory opened 文件或目錄被用編輯器打開(kāi)
moved_to file or directory moved to watched directory 文件或目錄被移動(dòng)進(jìn)來(lái)【理由:mv目錄內(nèi)重命名】
moved_from file or directory moved from watched directory 文件或目錄被移動(dòng)出去
move file or directory moved to or from watched directory 文件或目錄不管是移出或移進(jìn)
create file or directory created within watched directory 文件或目錄被創(chuàng)建【理由:mkdir創(chuàng)建目錄】
delete file or directory deleted within watched directory 文件或目錄被刪除【理由:rm刪除】
delete_self file or directory was deleted 文件或目錄自刪除
unmount file system containing file or directory unmounted 文件系統(tǒng)取消掛載

總結(jié)

以上是生活随笔為你收集整理的ubuntu下inotifywait实现目录、文件监控【包含子目录】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。