linux inotifywait
3809 ワード
注意:
android : external/toybox/toys/other/inotifyd.c
inotifyd-/sdcard/は1級ディレクトリのみを監視でき、e.g.はsdcardルートディレクトリのみを監視できます.
https://github.com/mkttanabe/inotifywait-for-Android
inotify-toolsはlinuxの下でinotifyファイルモニタリングツールに提供されるcの開発インタフェースライブラリ関数であり、ファイルシステムのイベントをモニタリングするための一連のコマンドラインツールも提供されています.inotify-toolsはcで記述されており、カーネルがinotifyをサポートすることを要求する以外は依存しない.inotify-toolsは、ファイルまたはディレクトリの変化を監視するためのinotifywaitと、ファイルシステムへのアクセス回数を統計するためのinotifywatchの2つのツールを提供します.その使い方をご紹介します.
inotify-toolsプロジェクトアドレス:https://github.com/rvoicilas/inotify-tools
inotify-toolsダウンロードアドレス:http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
使用例:
inotifywait
1.リアルタイムモニタ/homeのすべてのイベント(ファイルのアクセス、書き込み、修正、削除などを含む)
1
2、モニタ/var/log/messegesのhttpdに関するログ
1
2
3
4
5
6
inotifywatch
1、統計/homeファイルシステムのイベント
1
パラメータの説明
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は1回指定し、詳細は出力せず、2回指定し、致命的なエラーを除いて、何も出力しません.–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
ファイルシステムはマウント解除され、その後、このファイルシステムをリスニングしません.
https://sourceforge.net/projects/inotify-tools/
android : external/toybox/toys/other/inotifyd.c
inotifyd-/sdcard/は1級ディレクトリのみを監視でき、e.g.はsdcardルートディレクトリのみを監視できます.
https://github.com/mkttanabe/inotifywait-for-Android
inotify-toolsはlinuxの下でinotifyファイルモニタリングツールに提供されるcの開発インタフェースライブラリ関数であり、ファイルシステムのイベントをモニタリングするための一連のコマンドラインツールも提供されています.inotify-toolsはcで記述されており、カーネルがinotifyをサポートすることを要求する以外は依存しない.inotify-toolsは、ファイルまたはディレクトリの変化を監視するためのinotifywaitと、ファイルシステムへのアクセス回数を統計するためのinotifywatchの2つのツールを提供します.その使い方をご紹介します.
inotify-toolsプロジェクトアドレス:https://github.com/rvoicilas/inotify-tools
inotify-toolsダウンロードアドレス:http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
tar zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure
make
make install
使用例:
inotifywait
1.リアルタイムモニタ/homeのすべてのイベント(ファイルのアクセス、書き込み、修正、削除などを含む)
1
inotifywait -
rm
/home
2、モニタ/var/log/messegesのhttpdに関するログ
1
2
3
4
5
6
#!/bin/sh
while
inotifywait -e modify
/var/log/messages
;
do
if
tail
-n1
/var/log/messages
|
grep
httpd;
then
kdialog --msgbox
"Apache needs love!"
fi
done
inotifywatch
1、統計/homeファイルシステムのイベント
1
inotifywatch -
v
-e access -e modify -t 60 -r
/home
パラメータの説明
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は1回指定し、詳細は出力せず、2回指定し、致命的なエラーを除いて、何も出力しません.–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
ファイルシステムはマウント解除され、その後、このファイルシステムをリスニングしません.
https://sourceforge.net/projects/inotify-tools/