今天服务器内存满了,导致需要重启服务器,但是重启完服务器后,springboot 应用起不来了,报错Unable to create tempDir, java.io.tmpdir no space left on device
用df -h 查看磁盘空间是有的,但是用df -i 查看发现有一个inodes空间满了,
然后就用这个命令查找for i in /*; do echo $i; find $i | wc -l; done
最终发现/var/spool/postfix/maildrop目录最多。然后又进一步确定是/var/spool/postfix/maildrop 目录下面有几十万个文件,机器已经无法正常显示了,后来百度查看了下这个目录是邮件服务器,处理垃圾邮件活病毒邮件隔离的,明白原因了,删除该目录下所有文件;使用xargs命令来删除数量比较多的文件:
cd /var/spool/postfix/maildrop
ls | xargs rm -f
搜查资料发现这些是因为linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送cron所有者, 而若邮件发送不成功,这些小文件就会堆积在maildrop目录下面
如果sendmail或者postfix正常运行,则会在/var/mail目录下也会堆积大量的邮件
在弄清楚这些文件的作用后,就可以放心的删除,使用的命令是
[root@zhsyjqzj maildrop]# ls | xargs rm -rf