linux磁盘满时,如何定位并删除文件
@1.一般情况
一般情况下先df看一下,然后cd到要满的盘,执行:
du -shx *
这样可以列出所有文件夹的大小(x参数会去除掉mount上去的目录,如samba挂上去的盘,这会干扰统计的)
进去如果有子文件夹,那就继续执行du -shx * 一级一级地找
@2.特殊情况(有文件被删除,却被某进程占用,并且还在写)
这种情况的表现是,用1中的方法无法找到占用磁盘的文件,而且du -shx整个盘得到的结果和df的结果差别很大,那肯定是有文件被删除,但被进程占用,而且还在写。这样的被删除文件仍然会占用磁盘,被写入时,空间自然下降了,这种情况用前面的方法是无法找到文件的。
方法:
lsof | grep deleted
这样就可以找到被删除的却还被进程占用的文件了,进程也被列出,把相关的进程重启一遍,空间就被释放了。