我们的一台服务器有一个目录disk2,它已满95%。但是,当我运行命令来确定大部分空间的使用位置时,它会显示它的int / disk2 / backups--它显然安装在不同的更大设备上的不同文件系统上,并且只有31%已满。以下是这两个设备的DU命令输出:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvdb 51475068 46084284 2752960 95% /disk2
/dev/xvdf 154687468 45454904 101352500 31% /disk2/backups
/ dev / xvdb为95%让我感到紧张,因为它是一个生产服务器。我认为它一直在增长,因为我之前没有注意到它。清理备份之前已经解决了这个问题,但我认为这次是在不同的设备上。
我无法确定主要空间的使用位置,部分原因是当我在/ disk2上运行指标时,备份会一直显示为最大的文件。当我深入到不在/ backups中的disk2目录时,似乎没有什么大的东西。
此外,du州推出的标题是“1 k block”。这是否意味着数字应乘以1k?它是否适用于使用过的可用列?我认为它必须意味着字节,因为第一个卷是50G而第二个是150G。
答案 0 :(得分:1)
通常情况下,我会使用
cd /disk2
du -sm * | sort -n
让最大的目录/文件显示在底部。
因为备份目录可能需要很长时间扫描而没有额外的值, 我会试试
cd /disk2
du -sm !(backups) | sort -n
!(backups)
是一个类似于*
的shell glob,除了在这种情况下它将从返回的列表中排除backups
。
恕我直言,!(target)
语法并不完全直观。例如,如果您执行!(backups)*
,则会再次获取所有文件,并扫描备份。只是一个警告。
也许其他读者可以发布指向使用高级shell globs的教程的链接。
IHTH