跟踪目录随时间变化的大小

跟踪目录随时间变化的大小

我有一个目录,从现在开始,我想每天记录它的大小。也就是说,在一天中的某个时间,每天,我想计算该目录的大小,并将其与日期一起附加到某个文件中。

笔记:目录的大小是指所有内容的大小,递归地。

推荐的方法是什么?

答案1

你可以运行一些东西du来自 cron 作业。使用 GNU 工具,du -sb dir/可以递归地给出目录及其中所有文件的字节大小(加上目录名称,但我们可以删除它)。您可以通过 获取日期date。例如

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

然后将其放入 cron 作业并将输出定向到文件。 A定时任务每天 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打印的路径名,请使用类似的内容。

相关内容