前天发现某生产系统占用过高,后发现是sendmail进程过多。
查看/var/spool/mqueue邮件目录,ls半分钟无反应,sendmail -bp发现
unsafe map file /etc/mail/aliases根据http://www.sendmail.org/~ca/email/english.html 提示,发现居然有人把/etc/的权限设置错误,导致邮件消息文件N多,WTF,装机的人脑子进水。
生产机并不连接到公网,因此,只能是内部邮件。把所有的用户crontab 查找了一遍,发现有一个用户每分钟都执行一个不存在的脚本。。。这个脚本的邮件输出会引起sendmail在发邮件,sendmail会检查/etc/权限,发现有错不能将消息分派给用户从而挂起,产生了非常多的sendmail进程和/var/spool/mqueue文件。
把crontab 改正,/etc/mail权限修正,清理/var/spoo/mqueue/ ,清理sendmail进程以后,世界清净了。