現在のディレクトリで増加しているファイルを追跡する方法

現在のディレクトリで増加しているファイルを追跡する方法

nfs(非常に大きなxfsパーティション)を介してrwにエクスポートされたローカルファイルシステムがあります。

どこか(誰がどのリモートプロセスであるかわからない)がファイルに書き込んだり、新しいファイルを作成したり、より多くのデータを追加したりするために更新しており、利用可能なディスク容量が不足しています。

どのファイルを別の場所に移動しても安全であることを確認するために、次のコマンドを検討しました。

find . -type f -mtime +15 -size +100M
find . -type f -mmin -2 

しかし、現在インクリメント/書き込み中のファイルを(リモートで)追跡するためにfindまたは他のシステムユーティリティを呼び出す一般的な方法はありますか?

答え1

最も簡単な方法は、おそらくI / O操作をリストするのとiotop同じ方法で使用することです。topこれにより、どのプロセス/ファイルが最も多くのデータを書き込んでいるかがわかります。

NAME
       iotop - simple top-like I/O monitor

DESCRIPTION
       iotop  watches  I/O  usage  information output by the
       Linux kernel (requires 2.6.20 or later) and  displays
       a  table of current I/O usage by processes or threads
       on the system. At least  the  CONFIG_TASK_DELAY_ACCT,
       CONFIG_TASK_IO_ACCOUNTING,  CONFIG_TASKSTATS and CON‐
       FIG_VM_EVENT_COUNTERS options need to be  enabled  in
       your Linux kernel build configuration.

答え2

クロスパブリッシュソース:サーバー障害

書き込みが頻繁に発生しない場合は、次を使用することもできます。:

tree -h -x /my/directory/path > my_current_tree_$(date '+%+Y_%m_%d_%H_%M_%S')

しばらくしてからもう一度呼び出してファイルを比較します。

diff --suppress-common-lines --side-by-side my_current_tree*

上記のクロスポストの回答で詳細情報を確認できます。ただし、ファイルの書き込み処理は表示されません。これには、次のものをauditctl使用できます。ワイヤー

関連情報