“/var/spool/mqueue”目录占满磁盘问题的解决方法

2017年3月30日10:46:29 评论 1,874 957字阅读3分11秒

关于这个问题前几天在"解决"/bin/rm: Argument list too long"删除文件错误"中也是解决的这个问题,当时因为看到服务器被文件占满,然后就顺手删除文件,但是网友反映说网站又无法打开,操作任何命令重启WEB的时候还是提示"No space left on device"。

于是可以想到肯定还是这个问题,从搜索的结果看到应该是sendmail导致的邮件保存数据,如果是仅仅删除肯定是不行的,必须彻底断掉继续产生文件才可以。这里会将邮件保存数据在"/var/spool/mqueue"和"/var/spool/clientmqueue"中。

第一、看看占用的垃圾文件

“/var/spool/mqueue”目录占满磁盘问题的解决方法

这里我们需要到这个目录下,然后执行rm命令删除掉,鉴于数据较大,直接执行还不好删除,所以需要用到"ls | xargs -n 10 rm -rf"命令,这里需要注意,执行这个命令之前,你当前目录要在需要删除的目录下,你不要直接在根目录或者其他目录执行,要不会很惨删除系统文件了(不会的请勿尝试)。

第二、解决自动生成文件问题

清理垃圾文件之后,暂时可以释放空间,网站和WEB环境也都正常,但是这也不是长久之计。因为等会再刷新后发现又生成不少文件。所以必须彻底的解决问题。看到网上有不少类似的问题,提到是因为crontab自动任务导致的缓存,要求在任务队列中加上"/dev/null 2>/dev/null"。

但是,我看到这个朋友的服务器中没有定时任务执行,所以应该这个方法不对。搜罗半天没有找到合适的方法案例,就想到这个朋友也没有用邮件功能,索性先把sendmail卸载掉吧。(原本是关闭的,但是如果重启服务器后又会启动,所以直接卸载yum remove sendmail -y)

卸载之后再重启服务器,稍等稍等后,"/var/spool/mqueue"目录中暂时没有出现缓存文件,看似问题要解决了,然后再到日志(/var/log/maillog)中看看,看到postfix还在继续不断,产生日志文件,虽然文件很小,但是也不是长久之一,所以要不直接把postfix也卸载掉吧。

“/var/spool/mqueue”目录占满磁盘问题的解决方法

第三、检查看看是否完成

这个时候,我在重启服务器,检查网站、WEB面板、以及上面两处日志文件位置,好像没有产生邮件日志文件,至少目前这个问题可以解决。(或者禁止25端口,应该也可以阻止垃圾邮件缓存)

weinxin
微信公众号
关注大鸟博客公众号
大鸟
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: