2011-07-25 19 views
0

現在、ColdfusionのWebサイトをサーバーからサーバーに移行中です。 これを行うには、ファイルシステムレベルでクリーンアップを行いたいと思います。 ColdFusionがインクルードを使用しているので、実際にどのファイルが使用されているか把握するのはかなり難しいです。.netで 'procmon'のようなツールを実装する方法はありますか?

私が見つけた解決策の1つは、SysinternalsのProcmonを使用することでした。適切なフィルタが適切な位置にあれば、正しい情報が得られます。しかし、私は少し記録されるイベントの数を心配しています。

一方、.NET FileSystemWatcherクラスは有望ですが、アクセスイベントを処理しません。

最後に、ファイルシステムの監査機能を使用するのは興味深いようですが、プロセスごとにフィルタリングすることはできません。したがって、イベントログを汚染するイベントが多すぎるため、ログが回転する可能性があります。

誰でもprocmonを模倣するために使用できる.NETクラスを知っていますか?

+0

右のフィルタを使用し、出力にreduce-filename-removerを指定すると、適切な量のイベントが記録されます。 :) – bzlm

+0

これは、どのファイルを移動するかを決定する方法ですか?このようにすると、サイトの実際の使用に大きく依存します。 Webアプリケーションを試して理解する方がよいかもしれません。 –

+0

@Erno - そうです。しかし、各ページに4分の5の要素を持つ3,000ページを少し超えています。各要素は、一連のインクルード/テンプレート/カスタムタグファイルを呼び出す(または呼び出さない)ことができます。たいていの場合、どのファイルを削除するかは簡単に分かります(ファイル拡張子.cfm.old、.cfm.badなど)。しかし時には物事が少し難しくなります。うまくいけば、私は、時間の経過とともにデータを収集し、過去6ヶ月間使用されなかったすべてのページ/コンポーネントを報告できるサービスをまとめる方法を探していました。それは私たちに清掃の良い基盤を与えるだろう。 – Jaepetto

答えて

0

FileSystemWatcherは、ファイルが変更されたときにイベントを提供するオペレーティングシステムの機能に依存しています。ファイルへのすべてのアクセスを通知する機能は組み込まれていません。 ProcMonは、通知を処理するカスタムファイルシステムフィルタドライバを介してProcMonを処理します。このような関数をC#で書くことは、ドライバでカーネルレベルのコードを実行する必要があるため不可能です。

大規模な投資を正当化するには十分な大きさの問題でなければ、とにかにProcMonの使用をお勧めします。

関連する問題