状態
サーバーに/home/foo
不要になったディレクトリがあります。
残念ながら、このディレクトリがまだ必要かどうかは誰にも教えられません。
ターゲット
このディレクトリがまだ必要な場合は、どのプロセスがそれにアクセスするのかを知りたいです。
現在の戦略
このディレクトリに開いているすべてのファイルを観察します。
Inotifyを使用しない理由
残念ながら、ディレクトリには多くのサブディレクトリが含まれているため、inotifyを使用したくありません。
- 1604508ファイル
- 287253 サブディレクトリ
質問
ディレクトリ(再帰)ツリーの下で開いているすべてのファイルを表示するには?どのプロセスがアクセスしているかを知りたいです。
環境
/home
ext4 ファイルシステムです。- スースLinux 12.3。カーネル: 3.7.10
繰り返さない
私の質問は重複しませんどのプログラムやスクリプトが特定のファイルを生成したかを調べることは可能ですか?から....:
- ディレクトリツリーにサブディレクトリが多すぎるため、inotifyは使用できません。
- Loggingfs は使用できません。このディレクトリのファイルシステムタイプを変更できません。
下品
すでに2つの良い答えがあります。でも気になります。他の方法もあります。賞金50 :-)
ベストアンサー1
これは利用可能でなければなりませんauditd
(利用可能な場合はLinuxディストリビューションによって異なります)。
このauditctl
コマンドは監査を構成するために使用され、マニュアルページでは要件を実装する方法を説明する必要があります。
それはまるで、
auditctl -w /home/foo -p war -k foo-watch
その後、後で以下を使用して監査ログを取得できます。
ausearch -k foo-watch
SUSEでこれを行う例は次のとおりです。ここで発見。