记一次exim邮件队列爆满解决问题

事出缘由

     领导让我来看一台公司的服务器问题,就说php一直登录不了, 写不了session,服务器储存空间爆满了

但用df之类的命令没有找到爆满的位置和原因;

经过几轮操作,我找到是/var/spool/exim/input这个目录爆满,占了非常大;

再查阅了一下了解到exim是一个邮件队列,好像是没发送出去的队列会被保存;而exim属于directadmin控制面板的东西。

如果你没有用到这个面板, 就没用, 可以删除。 我的情况是查询到directadmin被删除了, 而exim还保留着并且没用还是累赘才决定删除的。

解决办法

1.把exim停止,有下面两个方式

1
2
3
4
service exim stop

# 记不得是不是这个路径, 你可以用whereis exim 查找一下
mv /var/sbin/exim /var/sbin/exim.old

2.删除input中的队列

1
2
3
4
5
6
rm -rf /var/spool/exim/input/*
有的可能爆满了rm命令无法执行, 尤其是exim还在往里面塞东西的时候, 可以先改名字

mv /var/spool/exim/input /var/spool/exim/input.old
rm -rf /var/spool/exim/input.old
mkdir /var/spool/exim/input

其他参考

写在后面

这玩意有多恐怖, 就在我给input改名为input.old时, 它自己又创建了input并写入了156个文件。。。。