私はディレクトリを持っており、今からそのサイズを毎日記録したいと思います。つまり、毎日特定の時間にそのディレクトリのサイズを計算し、日付とともにいくつかのファイルに追加したいと思います。
メモ:ディレクトリのサイズは、すべてのコンテンツのサイズを再帰的に表します。
推奨されるアプローチは何ですか?
答え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
次のように使用します。