某一天我的linux机子突然磁盘满了,使用df命令查看



/dev/sda1       184G  184G     0 100%  /


依次到根目录下使用命令查看各个目录的大小

du -h -x --max-depth=1

,发现所有的目录加起来只占用了20G。查看了inode节点,都没有问题啊。

使用lsof命令查看是否有被删除过的文件依然被程序占用

lsof | grep '(deleted)'

,并且一直在写操作,然而我把所有带有这deleted标识的程序结束,并且删除该文件,问题依旧。


高潮来了。


查看crond的定时任务,万万没想到,有一天的存储挂了后,没恢复。后来又直接挂载了存储到该目录。就一直找不到为什么根磁盘满了的原因。有一个备份的目录在晚上备份的过程中直接把该挂载存储的目录直接塞满了,导致的根分区满了。


解决过程,卸载挂载存储的目录,然后之前备份到该存储目录的内容直接复制到其他分区,并删除,重新挂载存储。一切搞定。