inotify tools命令使用講解

2021-06-26 10:05:02 字數 3061 閱讀 5922

inotify-tools 是為linux下inotify檔案監控工具提供的一套c的開發介面庫函式,同時還提供了一系列的命令列工具,這些工具可以用來監控檔案系統的事件。 inotify-tools是用c編寫的,除了要求核心支援inotify外,不依賴於其他。inotify-tools提供兩種工具,一是inotifywait,它是用來監控檔案或目錄的變化,二是inotifywatch,它是用來統計檔案系統訪問的次數。現在介紹一下它的使用方法。

wget

tar xzf inotify-tools-3.14.tar.gz ;cd inotify-tools-3.14

./configure --prefix=/usr && make && su -c 'make install'

inotifywait

1、實時監控/home的所有事件(包括檔案的訪問,寫入,修改,刪除等)

inotifywait -rm /home

2、監控/var/log/messeges中有關httpd的日誌

1、統計/home檔案系統的事件

inotifywatch -v -e access -e modify -t 60 -r /home

inotifywait

語法: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...