inotify-toolsのインストールと使用
3615 ワード
inotify-toolsは、ファイルまたはディレクトリの変化を監視するためのinotifywaitと、ファイルシステムへのアクセス回数を統計するためのinotifywatchの2つのツールを提供します.kernel 2.6.13以上はサポート(直接インストール使用)、本人はcentos 5.4 x 64、kernelバージョン2.6.18はテストコマンドを実行[root@hostname inotify]# grep INOTIFY_USER/boot/config-$(uname -r) CONFIG_INOTIFY_USER=y結果=y(yes)の場合、インストール手順wgetを完全にサポートhttp://nchc.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz tar *** cd *** ./configure --prefix=/usr/local/inotify/make && make install
inotifyの戻り値は、20130313 10:06 CREATE/home/ppp/test.html 20130313 10:06 MODIFY/home/ppp/test.html 20130313 10:07 DELETE/home/ppp/test.html inotifywait:モニタファイルまたはディレクトリ変化構文: inotifywait[-hcmrq][-e][-t][--format][--timefmt][...]パラメータ: -h,–help ヘルプ情報の出力 @ 監視を必要としないファイルを除外します.相対パスでも絶対パスでも構いません. –fromfile 監視するファイルまたは除外するファイルをファイルから読み込み、1つのファイル1行、除外するファイルは@で始まります. -m, –monitor 脱退せずに一つのことを受信し、無期限に実行する.デフォルトの動作は、1つのことを受信した後、すぐに終了します. -d, –daemon -monitorと同様に、バックグラウンドで実行する以外に、-outfileを指定してファイルに出力する必要があります.-syslogを使用していることを意味します. -o, –outfile 標準出力ではなくファイルに出力します. -s, –syslog システムログへのエラーメッセージの出力 -r, –recursive 1つのディレクトリの下にあるすべてのサブディレクトリを監視します. -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 監視するファイルまたは除外するファイルをファイルから読み込み、1つのファイル1行、除外するファイルは@で始まります. -z, –zero 要素が空であっても、表の行と列を出力します. –exclude 除外するファイルに正則的に一致し、大文字と小文字が敏感です. –excludei 正則は、大文字と小文字を無視して除外するファイルに一致します. -r, –recursive 1つのディレクトリの下にあるすべてのサブディレクトリを監視します. -t , –timeout タイムアウト時間の設定 -e , –event 指定したイベントのみをリスニングします. -a , –ascending 指定したイベントの昇順で並べ替えます. -d , –descending 指定したイベントの降順で並べ替えます.リスニング可能なイベント access ファイル読み込み modify ファイルの変更. attrib アクセス権、タイムスタンプなどのファイル属性の変更. close_write 書き込み可能モードで開いているファイルが閉じられているのは、必ずデータが書き込まれているわけではありません. close_nowrite 読み取り専用モードで開いているファイルは閉じられます. close ファイルがどのように開いているかにかかわらず閉じられます. open ファイルが開きます. moved_to 1つのファイルまたはディレクトリがリスニングされたディレクトリに移動し、同じディレクトリ内で移動してもイベントがトリガーされます. moved_from このイベントは、同じディレクトリ内を移動してもトリガーされます. move movedを含めるtoとmoved_from move_self ファイルまたはディレクトリは削除され、その後、このファイルまたはディレクトリはリスニングされません. create ファイルまたはディレクトリの作成 delete ファイルまたはディレクトリの削除 delete_self ファイルまたはディレクトリを削除してから、このファイルまたはディレクトリをリスニングしません. unmount ファイルシステムはマウント解除され、その後、このファイルシステムをリスニングしません.
- #!/bin/bash
- monitor_dir=/home/ppp
- /usr/local/inotify/bin/inotifywait -mrq --timefmt '%Y%m%d %H:%M' --format '%T %e %w%f' -e modify,delete,create ${monitor_dir} | while read line
- do $cmd
- done
inotifyの戻り値は、20130313 10:06 CREATE/home/ppp/test.html 20130313 10:06 MODIFY/home/ppp/test.html 20130313 10:07 DELETE/home/ppp/test.html inotifywait:モニタファイルまたはディレクトリ変化構文: inotifywait[-hcmrq][-e][-t][--format][--timefmt][...]パラメータ: -h,–help ヘルプ情報の出力 @ 監視を必要としないファイルを除外します.相対パスでも絶対パスでも構いません. –fromfile 監視するファイルまたは除外するファイルをファイルから読み込み、1つのファイル1行、除外するファイルは@で始まります. -m, –monitor 脱退せずに一つのことを受信し、無期限に実行する.デフォルトの動作は、1つのことを受信した後、すぐに終了します. -d, –daemon -monitorと同様に、バックグラウンドで実行する以外に、-outfileを指定してファイルに出力する必要があります.-syslogを使用していることを意味します. -o, –outfile 標準出力ではなくファイルに出力します. -s, –syslog システムログへのエラーメッセージの出力 -r, –recursive 1つのディレクトリの下にあるすべてのサブディレクトリを監視します. -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 監視するファイルまたは除外するファイルをファイルから読み込み、1つのファイル1行、除外するファイルは@で始まります. -z, –zero 要素が空であっても、表の行と列を出力します. –exclude 除外するファイルに正則的に一致し、大文字と小文字が敏感です. –excludei 正則は、大文字と小文字を無視して除外するファイルに一致します. -r, –recursive 1つのディレクトリの下にあるすべてのサブディレクトリを監視します. -t , –timeout タイムアウト時間の設定 -e , –event 指定したイベントのみをリスニングします. -a , –ascending 指定したイベントの昇順で並べ替えます. -d , –descending 指定したイベントの降順で並べ替えます.リスニング可能なイベント access ファイル読み込み modify ファイルの変更. attrib アクセス権、タイムスタンプなどのファイル属性の変更. close_write 書き込み可能モードで開いているファイルが閉じられているのは、必ずデータが書き込まれているわけではありません. close_nowrite 読み取り専用モードで開いているファイルは閉じられます. close ファイルがどのように開いているかにかかわらず閉じられます. open ファイルが開きます. moved_to 1つのファイルまたはディレクトリがリスニングされたディレクトリに移動し、同じディレクトリ内で移動してもイベントがトリガーされます. moved_from このイベントは、同じディレクトリ内を移動してもトリガーされます. move movedを含めるtoとmoved_from move_self ファイルまたはディレクトリは削除され、その後、このファイルまたはディレクトリはリスニングされません. create ファイルまたはディレクトリの作成 delete ファイルまたはディレクトリの削除 delete_self ファイルまたはディレクトリを削除してから、このファイルまたはディレクトリをリスニングしません. unmount ファイルシステムはマウント解除され、その後、このファイルシステムをリスニングしません.