経時的なディレクトリサイズの追跡

経時的なディレクトリサイズの追跡

私はディレクトリを持っており、今からそのサイズを毎日記録したいと思います。つまり、毎日特定の時間にそのディレクトリのサイズを計算し、日付とともにいくつかのファイルに追加したいと思います。

メモ:ディレクトリのサイズは、すべてのコンテンツのサイズを再帰的に表します。

推奨されるアプローチは何ですか?

答え1

何かを実行できますduクローンの仕事で。 GNUツールを使用すると、du -sb dir/ディレクトリとその中にあるすべてのファイルのサイズ(ディレクトリ名も含まれていますが削除できます)をバイト単位で繰り返し提供できます。で日付を取得しますdate。例えば

$ printf "$(date +"%F %T") $(du -sb /tmp)\n" 
2018-07-03 15:25:57 24246930    /tmp

次にそれをcronジョブに入れ、出力をファイルに送信します。 ㅏ予約されたこと毎日06:00に実行される項目は次のとおりです(もちろん私は/tmp例を挙げました)。

0 6 * * * printf "$(date +"\%F \%T") $(du -sb /tmp)\n" >> /tmp/tmp-size.log

パーセント記号をエスケープする必要がありますcron

du -skキロバイト単位で使用したり、du -sh「人が読める」自動サイジング出力に使用できます。許可されるオプションはduシステムによって異なる場合があります。

du ... | sed -e 's/[[:blank:]].*//'印刷されたパス名を削除するには、du次のように使用します。

関連情報