inotify-tools 是為linux下inotify檔案監控工具提供的一套c的開發介面庫函式,同時還提供了一系列的命令列工具,這些工具可以用來監控檔案系統的事件。 inotify-tools是用c編寫的,除了要求核心支援inotify外,不依賴於其他。inotify-tools提供兩種工具,一是inotifywait,它是用來監控檔案或目錄的變化,二是inotifywatch,它是用來統計檔案系統訪問的次數。現在介紹一下它的使用方法。
wgetinotifywaittar xzf inotify-tools-3.14.tar.gz ;cd inotify-tools-3.14
./configure --prefix=/usr && make && su -c 'make install'
1、實時監控/home的所有事件(包括檔案的訪問,寫入,修改,刪除等)
inotifywait -rm /home2、監控/var/log/messeges中有關httpd的日誌
1、統計/home檔案系統的事件
inotifywatch -v -e access -e modify -t 60 -r /homeinotifywait
語法:inotifywait [-hcmrq] [-e ] [-t ] [--format ] [--timefmt ] [ ... ]
引數:-h,–help
輸出幫助資訊
@排除不需要監視的檔案,可以是相對路徑,也可以是絕對路徑。
–fromfile
從檔案讀取需要監視的檔案或排除的檔案,乙個檔案一行,排除的檔案以@開頭。
-m, –monitor
接收到乙個事情而不退出,無限期地執行。預設的行為是接收到乙個事情後立即退出。
-d, –daemon
跟–monitor一樣,除了是在後台執行,需要指定–outfile把事情輸出到乙個檔案。也意味著使用了–syslog。
-o, –outfile
輸出事情到乙個檔案而不是標準輸出。
-s, –syslog
輸出錯誤資訊到系統日誌
-r, –recursive
監視乙個目錄下的所有子目錄。
-q, –quiet
指定一次,不會輸出詳細資訊,指定二次,除了致命錯誤,不會輸出任何資訊。
–exclude
正則匹配需要排除的檔案,大小寫敏感。
–excludei
正則匹配需要排除的檔案,忽略大小寫。
-t , –timeout
設定超時時間,如果為0,則無限期地執行下去。
-e , –event
指定監視的事件。
-c, –csv
輸出csv格式。
–timefmt
指定時間格式,用於–format選項中的%t格式。
–format
指定輸出格式。
%w 表示發生事件的目錄
%f 表示發生事件的檔案
%e 表示發生的事件
%xe 事件以「x」分隔
%t 使用由–timefmt定義的時間格式
inotifywatch
語法:inotifywatch [-hvzrqf] [-e ] [-t ] [-a ] [-d ] [ ... ]
引數:-h, –help
輸出幫助資訊
-v, –verbose
輸出詳細資訊
@排除不需要監視的檔案,可以是相對路徑,也可以是絕對路徑。
–fromfile
從檔案讀取需要監視的檔案或排除的檔案,乙個檔案一行,排除的檔案以@開頭。
-z, –zero
輸出**的行和列,即使元素為空
–exclude
正則匹配需要排除的檔案,大小寫敏感。
–excludei
正則匹配需要排除的檔案,忽略大小寫。
-r, –recursive
監視乙個目錄下的所有子目錄。
-t , –timeout
設定超時時間
-e , –event
只監聽指定的事件。
-a , –ascending
以指定事件公升序排列。
-d , –descending
以指定事件降序排列。
可監聽事件
access
檔案讀取
modify
檔案更改。
attrib
檔案屬性更改,如許可權,時間戳等。
close_write
以可寫模式開啟的檔案被關閉,不代表此檔案一定已經寫入資料。
close_nowrite
以唯讀模式開啟的檔案被關閉。
close
檔案被關閉,不管它是如何開啟的。
open
檔案開啟。
moved_to
乙個檔案或目錄移動到監聽的目錄,即使是在同一目錄內移動,此事件也觸發。
moved_from
乙個檔案或目錄移出監聽的目錄,即使是在同一目錄內移動,此事件也觸發。
move
包括moved_to和 moved_from
move_self
檔案或目錄被移除,之後不再監聽此檔案或目錄。
create
檔案或目錄建立
delete
檔案或目錄刪除
delete_self
檔案或目錄移除,之後不再監聽此檔案或目錄
unmount
檔案系統取消掛載,之後不再監聽此檔案系統。
inotify tools命令使用講解
inotify tools 是為linux下inotify檔案監控工具提供的一套c的開發介面庫函式,同時還提供了一系列的命令列工具,這些工具可以用來監控檔案系統的事件。inotify tools是用c編寫的,除了要求核心支援inotify外,不依賴於其他。inotify tools提供兩種工具,一是...
安裝inotify tools監控工具
yum install y inotify tools root dns3 rpm ql inotify tools usr bin inotifywait usr bin inotifywatch usr lib64 libinotifytools.so.0 usr lib64 libinotif...
部署inotify tools進行檔案自動同步
建立inotify自動同步指令碼 vim inotify rsync.sh bin sh src home rsync test dst rsync 192.168.10.4 home rsync test bin su rsync usr local bin inotifywait mrq e m...