linux crontab任务出错,CROND出错导致/var/spool/postfix/maildrop/堆积

前一段时间遇到的系统故障,以下是操作过程:

大晚上收到该服务器内存超高告警,ps aux发现有大量的/usr/sbin/sendmail进程,一开始将其kill掉:

ps -ax | grep sendmail | awk '{print $1}' | wc –l 统计了以下有1230个

ps -ax | grep sendmail | awk '{print $1}' |xargs kill –9 杀掉这些进程

但过一段时间,问题仍然出现,同时还有/var目录磁盘使用情况超高。

使用du –sh *直接卡死,这说明/var/下有目录文件太多,感觉和上次的/usr/sbin/sendmail进程有关系,最后查询是/var/spool/postfix/maildrop/里堆积了大量文件,同时无法删除,但问题是该服务器上没有运行sendmail或postfix服务,为什么会有大量的sendmail进程出现?再ps aux查看除了senmail还有CRON和postdrop大量进程

CROND 1231

/usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t  -f root 1230

/usr/sbin/postdrop -r 1232

三个进程数大概相同,再查询crontab计划任务

最后找出原因是计划任务出错

* */1 * * *  /usr/sbin/ntpdate time1.XX.XX 是这个计划任务有问题

time1.XX.XX 是之前的ntp server地址,后来ip变了,导致crond出错。

而crond在执行脚本时会将保持信息以邮件的形式发送给crond用户,而环境的postfix没有正常运行,导致邮件发送失败,都会堆积在/var/spool/postfix/maildrop/目录中,(可以在crontab中第一行增加MAILTO=""发送为空)

问题原因找到了,下面是操作过程:

1,更改正确的crontab

echo * */1 * * * /usr/sbin/ntpdate time2.XX.XX> /var/spool/cron/root

2,kill掉出错的进程

ps -ax | grep sendmail | awk '{print $1}' |xargs kill –9

ps -ax | grep CROND | awk '{print $1}' |xargs kill –9

ps -ax | grep postdrop | awk '{print $1}' |xargs kill –9

3,删除/var/spool/postfix/maildrop/里的文件

yum install rsync

mkdir /tmp/test

rsync --delete -a -H -v --progress --stats /tmp/test/ /var/spool/postfix/maildrop/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值