web-dev-qa-db-ja.com

時間の経過とともにディレクトリスペースを追跡するLinuxツール

ファイルシステム全体だけでなく、時間の経過とともにディスク容量を追跡する一般的なLinuxツールはありますか?たとえば、どのディレクトリツリーが過去に膨らんで縮んだかを簡単に確認できますか?この問題は、キャッシュやtmpファイル、ログなどの定期的なハウスクリーニングにもかかわらず、空き容量が0になり続けるサーバーで発生します。私はすでにdfdulsofなどのツールを頻繁に使用し、atジョブをスケジュールして特定のサイズを超える古いファイルを検索しています/ typeは、最低水準点に達したときなどです。

できればDebian/Ubuntuパッケージ。

8
Marcos

いくつかのことで、このようなツールの作成は問題になります。

  1. カーネルはディレクトリやファイル固有のファイルサイズの履歴を保持しないため(メモリ使用量、I/Oアクティビティ、CPU時間など)、書き込まれるものはすべてユーザー空間にある必要があります。
  2. Inotifyを使用して何かが書き込まれたとしても、ビジーなサーバーでは、ファイルが変更されるたびに "du -s"の出力を記録するユーザースペースデーモンのオーバーヘッドが非常に大きくなります。使用率の低いサーバーでは、おそらくこの問題はありません。そのため、ツールがそのオーバーヘッドを買う余裕のない人々にのみ役立つ状況に出くわします。
  3. ZabbixやNagiosなどのネットワーク監視デーモンには、この点でほとんどの管理者のニーズに対応する履歴を備えた(ファイルシステム全体の)基本的なディスク使用率監視が含まれています。それ以上のニーズは通常、問題のファイルシステムにアクセスし、事後にスペースを占有しているものを確認する(ネットワークモニタリングを使用して、可能性のある問題の予防的な警告を行う)ための中断/修正です。
  4. 本当にこれを知っておく必要があり、プロアクティブな警告が再び発生したときに通知するのを待つ(チェックアウトできるようにする)ことはできない場合は、最終的には、関係するディレクトリを監視するスクリプトを作成できます。約。 (基本的に「find/path/to/dir -type d -exec du -sh {} \;」の出力を記録して、簡単に確認できるようにします)。

そのため、これを実行するためのユーザー空間ツールを作成する必要はありません。正しく実行することは困難であり、既存のソリューションでは理想にかなり近づくからです。

短い答え:私はそのようなツールを知りませんが、ないのは理にかなっています。

3
Bratchley