ディスクまたはディレクトリへのすべてのアクセスをログに記録する(コンソールまたはファイルに出力するだけの)スクリプトが必要です(どちらも機能します)。また、正確に何(どのサブディレクトリまたはファイル)にアクセスしたのか知りたいです。私のシステムはubuntulinuxです。それは可能ですか、どうすればできますか?
Inotifyを見てください。それはまさにそれが構築された目的です。 IBMは、 http://www.ibm.com/developerworks/linux/library/l-inotify.html で、半ばまともな紹介をしています(多少古くなっていますが)。
単純なフィルタースクリプトを使用して単一のプログラムstraceのアクションを監視することが必要な場合は、より一般的にはSElinuxの「auditd」を確認してください。
http://en.wikipedia.org/wiki/Stracehttp://linux.die.net/man/8/auditd
Windows側で、SysInternalsの人からのfilemonを見てください。
http://technet.Microsoft.com/en-us/sysinternals/bb896642.aspx
incron を使用できます。これは、inotifyからのファイルシステムイベント用のcronのようなツールです。
IN_ACCESSイベントが発生するたびに実行されるアクションを定義できます。
設定はcronと同じくらい簡単です:
<path> <mask> <command>
どこ:
<path>
はファイルシステムパスです(各空白の前には円記号を付ける必要があります)<mask>
はシンボリック(inotify.hを参照。シンボルを区切るにはコンマを使用)またはイベントの数値マスク<command>
は、イベントで実行するアプリケーションまたはスクリプトですその大きな出力を見たいと本当に確信している場合は、auditdを使用できます。ただし、ファイルへのアクセスはログファイルへの出力を意味するため、ファイルに出力する場合は無限ループが発生する可能性があります。ログファイルへの印刷はファイルへのアクセスでもあるため、ログファイルにも印刷する必要があります。ので注意してください。
無限ループがない場合でも、これが出力するデータの量は非常に多いはずです。質問をこの監視で何を達成したいのかと変更した場合、人々はすべてのファイルへのアクセスをログに記録するよりも良い方法を提案できるかもしれません。