今天查看盘剩余的容量,发现‘/’目录下占用了大量的空间;可我在这个目录下面没有放什么东西;仔细查看在/var/spool/postfix/maildrop/ 中发现了大量的文件。怎么会有这么多的文件呢,先删除。
在网上搜索之后明白是mail没有成功的邮件。由于linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送cron所有者, 而我的服务器中关闭了postfix,导致邮件发送不成功,全部小文件堆积在了maildrop目录下面。如果sendmail或者postfix正常运行,则会在/var/mail目录下也会堆积大量的邮件。
解决方法:
修改“/etc/crontab”
将‘MAILTO=root’替换成‘MAILTO=""’修改之后没有成功,需要重启crond服务才可以
也可从在crontab(crontab -e)中最前面直接加入MAILTO=""
--------------------------------------------------------------------------------------------------------------
话说博主后来在crontab -e中改了root配置,其它普通用户忘记改到。结果导致了其它用户crontab不执行,普通用户资源数耗尽。ps aux|grep www|wc -l,查看该用户进程数有上千条,几乎是:
www 31446 31377 0 20:20 ? /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root
www 32405 0.0 0.0 80948 3432 ? S Apr02 0:00 /usr/sbin/postdrop -r
问题原因: 删除/var/spool/postfix/maildrop/下面的文件后,普通用户crontab 没有改到,导致普通用户一直在发邮件,而且报错:postfix/postdrop[23110]: warning: mail_queue_enter: create file maildrop/749274.23110: No such file or directory
邮件发送不成功,但是进程一直存在,直到该用户分配的系统资源耗尽才发现问题。
系统普通用户资源耗尽可查看另外一篇文章,
su: cannot set user id: Resource temporarily unavailable(资源不可用)