使用inotifywait工具

3案例3:使用inotifywait工具

3.1 問題

本例要求安裝inotify-tools工具,並針對文件夾/opt啓用inotifywait監控,完成下列任務:

  1. 當此目錄下出現新建、修改、更改權限、刪除文件等事件時能給出提示
  2. 驗證上述監控事件的效果
3.2 方案

inotifywait監控操作:

  • inotifywait [選項] 目標文件夾
    inotifywait常用命令選項:
  • -m 持續監控(捕獲一個時間後不退出)
  • -r 遞歸監控、包括子目錄及文件
  • -q 減少屏幕輸出信息
  • -e 指定監視的 modify、move、create、delete、attrib等事件類別
3.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:安裝inotify-tools軟件包

1)解包

[root@svr7 ~]# tar  xf  inotify-tools-3.13.tar.gz  -C  /usr/src/

2)配置

[root@svr7 ~]# cd  /usr/src/inotify-tools-3.13/
[root@svr7 inotify-tools-3.13]# ./configure

3)編譯

[root@svr7 inotify-tools-3.13]# make

4)安裝

[root@svr7 inotify-tools-3.13]# make

5)檢查安裝結果(inotifywait程序可用)

[root@svr7 ~]# inotifywait --help
inotifywait 3.13
Wait for a particular event on a file or set of files.
Usage: inotifywait [ options ] file1 [ file2 ] [ file3 ] [ ... ]
Options:
    -h|--help         Show this help text.
.. ..

步驟二:測試inotifywait監控

1)開啓監控任務,置入後臺

[root@svr7 ~]# inotifywait  -mrq  -e  create,modify,move,attrib,delete /opt &
[1] 55564

2)測試/opt/目錄下的新建、修改、改名、更改權限、刪除文件等事件的響應消息
觀察新建文件時的監控信息:

[root@svr7 ~]# touch  /opt/a.txt
/opt/ CREATE a.txt
/opt/ ATTRIB a.txt

觀察修改文件內容時的監控信息:

[root@svr7 ~]# echo  Hello  >  /opt/a.txt
[root@svr7 ~]# /opt/ MODIFY a.txt
/opt/ MODIFY a.txt

觀察將文件改名時的監控信息:

[root@svr7 ~]# mv  /opt/a.txt  /opt/b.txt
/opt/ MOVED_FROM a.txt
/opt/ MOVED_TO b.txt

觀察修改文件權限時的監控信息:

[root@svr7 ~]# chmod  600  /opt/b.txt
/opt/ ATTRIB b.txt

觀察刪除文件時的監控信息:

[root@svr7 ~]# rm  -rf  /opt/b.txt 
/opt/ DELETE b.txt

3)停止監控任務

[root@svr7 ~]# kill  -9  %1
[1]+  已殺死          inotifywait -mr -e create,modify,move,attrib,delete /opt
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章