2

ファイルシステムを監視するプログラムを書いています。しかし、ファイルがいつ削除されたかを検出できません。監視対象のディレクトリ内のファイルを削除するときに fanotify が何らかのイベントを発生させることを期待して、FAN_MARK_ONLYDIR フラグを使用して監視を試みましたが、結果はありません。

fanotify を使用してこれを行うことさえ可能ですか? これを行うのに役立つものはありますか?

4

1 に答える 1

3

linuxquestions.org スレッド によると、fanotifyファイルの置換、削除、またはサブディレクトリの作成、名前変更、または削除は検出されません。baach.de の議論も参照してください。これは、他のファイルまたはディレクトリの変更モニター間でinotify, dnotify, fam, Fanotify, tripwire, Python-fuse,と (python)を比較 (または言及)しています。llfuse

inotifyファイルシステム全体ではなく、限られた数のディレクトリで作業している場合は、実用的ですIN_DELETEIN_DELETE_SELF

編集:そのinotifyWebページに記載されている制限または警告には、次のものがあります。

inotify ディレクトリの監視は再帰的ではありません。ディレクトリの下のサブディレクトリを監視するには、追加の監視を作成する必要があります。大きなディレクトリ ツリーの場合、これにはかなりの時間がかかる場合があります。... ディレクトリ サブツリー全体を監視し、そのツリーに新しいサブディレクトリが作成された場合、新しいサブディレクトリの監視を作成するまでに、新しいファイルがサブディレクトリに既に作成されている可能性があることに注意してください。したがって、ウォッチを追加した直後にサブディレクトリの内容をスキャンすることをお勧めします。

于 2013-12-17T17:03:48.673 に答える