我有AWS linux实例,目前实例中有很多文件夹。
我想映射所有的文件夹和他们的大小,所以我可以在1个月回来,并检查哪个文件夹占用大量的存储(可能是日志文件夹)。
达到这个目标的最好方法是什么?
所以我可以更容易地比较本月和下个月的大小。
谢谢。
我刚才从另外一个问题中保存了这个答案: 我怎样才能按大小sorting
需要coreutils 7.5或更新。 该命令很简单:
du -hs * | sort -h
或者按降序sorting,请使用:
du -hs * | sort -hr
输出将按大小顺序列出目录,按照可读格式(K,M,G)sorting,
要随时间比较大小,请将输出redirect到文件进行存储:
du -hs * | sort -hr > /path/to/diskusage.txt
使用ncdu实用程序 。 logging这些值。 回来,再检查一个月:)
ncdu 1.7 ~ Use the arrow keys to navigate, press ? for help --- /ppro ---------------------------------------------------------------------------------------------------------- 170.0GiB [##########] /data 104.6GiB [###### ] /sldata 54.4GiB [### ] /isam 48.8GiB [## ] /slisam 27.8GiB [# ] /hist 15.4GiB [ ] /prt 12.1GiB [ ] /jmail 10.1GiB [ ] /zephyr2 9.7GiB [ ] /edi 7.9GiB [ ] /savdata2 6.2GiB [ ] /io
答案是做一个bash脚本。
这是脚本的一部分:
我输出每个邮件文件夹子文件夹的信息,例如:
#!/bin/bash du -h /etc/* | sort -nr | head -n 20 > /outputdir/data/etc.txt du -h /usr/* | sort -nr | head -n 20 > /outputdir/data/usr.txt du -h /var/* | sort -nr | head -n 20 > /outputdir/data/var.txt
加上添加
du -hs /var/ >> /ilantest/data/general.txt du -hs /usr/ >> /ilantest/data/general.txt du -hs /etc/ >> /ilantest/data/general.txt
这将给我一些关于大多数使用的文件夹的磁盘使用情况的信息,包括在testing期间显示到前20个最大的文件夹及其更改。