题记:写这篇博客要主是加深自己对文件系统的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢。
May 13 15:29:23 lcha2 postfix/postdrop[1443]: warning: mail_queue_enter: create file maildrop/383480.1443: No such file or directory
May 13 15:29:23 lcha2 postfix/postdrop[1269]: warning: mail_queue_enter: create file maildrop/330426.1269: No such file or directory
May 13 15:29:23 lcha2 postfix/postdrop[1439]: warning: mail_queue_enter: create file maildrop/357169.1439: No such file or directory
May 13 15:29:23 lcha2 postfix/postdrop[1654]: warning: mail_queue_enter: create file maildrop/984222.1654: No such file or directory
init-+-aacraid |-atd |-bdflush |-crond---125*[crond---sendmail---postdrop]
可见crond保卫进程启动了sendmail,进而启动了postdrop。查看crond的配置, crontab -e,都没有发明几秒就启动的程序,所以多是sendmail自己一旦邮件发送不成功,就持续从新发送而致使持续启动postdrop,而postdrop老是执行失败,致使持续写入日志到日志文件。日志文件增大的速率超过了logrotate的删除频率,所以占领了100%的磁盘空间。
mail.* /var/log/maillog
mail.err
/var/log/maillog
while true do date +%H:%M:%S >> 1.txt ps -e | grep sendmail | wc >>1.txt sleep 5 done
从结果文件1.txt中发明每10分钟,就会启动一个sendmail进程。crontab里有个没有这个频率的启动项,但有一个每5分钟主动网络校时的启动项。把这个项注视掉,从新启动crond,发明仍然有sendmail的启动,从而排除了这个原因。难道是crond本身每10分钟就主动发送邮件吗?按照man 5 crontab的解释,把/etc/crontab的MAILTO设为"",这样crond就不会发送邮件了。从新启动crond服务,发明crond仍然10分钟启动一次sendmail,太奇怪了!索性直接关闭crond服务,然后再也没有新的sendmail进程产生。难道是crontab被黑了?为什么MAILTO=""了,还会调用sendmail呢?把所有的sendmail进程都kill掉,然后启动crond, 仍然会出产sendmail,看来crond和sendmail的关系绝非一般。
# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib/sa/sa2 -A
[root@lcha2 root]# /usr/lib/sa/sa1 1 1
Cannot open /var/log/sa/sa20: No such file or directory
# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib/sa/sa1 1 1 &>/dev/null
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib/sa/sa2 -A &>/dev/null
文章结束给大家分享下程序员的一些笑话语录: 雅虎最擅长的不是开通新业务,是关闭旧业务。