フォルダの最大サイズを記録する方法は?

フォルダの最大サイズを記録する方法は?

パッケージはテストシステムで解凍され、コンパイルされます/tmp/test

しなければならないいつでもディレクトリの最大サイズを取得します。これらすべての段階で。

現在、私は寸法を記録して自分自身を助けることができます。

du -sch /tmp/test >> /tmp/size.txt 

流通中。しかし、これは非常に厄介で不正確な解決策です。コンピュータが/tmp/test忙しくてdu最大サイズを逃した可能性があります。エレガントな解決策はありますか?

利用可能なファイルシステムはextまたはbtrfsです(助けになる場合)。

読者が要求しました使用例:

  • Gentoo Linux用のパッケージを準備するときは、コンパイル中にどれだけのスペースが必要かを知っておく必要があります。一部のソフトウェアパッケージ(Firefox、Boost、LibreOfficeなど)では、パッケージに十分な空き容量があることを確認することが重要です。

  • 私は多くの一時ファイルを生成するスクリプトを書いています。フォルダサイズを監視するのは面白いでしょう。

修正する:その間、sysdigこれはこの作業に有望に見えますが、まだフォルダサイズを取得していません。

ベストアンサー1

1つの可能性は、ファイルシステムイベントを監視し、ファイルの作成および削除時にいくつかのロギングコマンドを実行することです。このアプローチを容易にするためのツールがあります。inotifyFSWATCHまたはLinux監査フレームワーク。各イベントの後にディスク全体の領域を記録したり、ディスク領域の変更を記録したり、ログを使用して最大サイズを計算したりできます。たとえば、次のスーパーユーザーの投稿をご覧ください。

次の記事では異なるアプローチを提供します。

問題のディレクトリを独自のパーティションにマウントした後、次を実行することをお勧めします。iostatそのパーティションに。これにより、このディレクトリにIOイベントを継続的に記録できます。

ディスクIOモニタリングの詳細については、次の記事を参照してください。

おすすめ記事