crontab 不发送邮件了, why ?

2022-08-22 10:41:02 浏览数 (1)

问题现象:

crontab 任务运行时,/var/spool/mail/root 之前一直会有相应的 mail 邮件生成,邮件中详细记录了 crontab 任务的基本信息、执行时间、执行结果、报错等信息,可以说非常的有用。但是不知道为什么1月7日之后没有新的邮件生成了,最后一条邮件记录正好是 crontab 命令执行失败的消息,不由得心中一惊,以为是这条执行失败的 crontab 命令把 crontab 给卡住了,急忙进行测试,发现 crontab 是可以正常执行的,只是不知道为什么不发送邮件了。

排查过程

查看 crontab 日志

通过某度搜索得知,crontab 日志文件路径为 /var/log/cron ,查看最后10行输出,发现正常有 MAIL 相关的异常日志 MAIL (mailed 83 bytes of output but got status 0x004b#012),过滤该关键字发现有大量的异常日志存在。

从字面意思来看,邮件确实发送了,但是状态不正常。

查看 maillog 日志

继续搜索发现,邮件发送情况的日志记录在 /var/log/maillog 中,查看该日志提示磁盘空间不足

查看各目录占用情况,发现 / 挂载点已经使用100%:

问题解决

通过排查,发现 /tmp 目录下的临时文件过大,占用了过多的空间,导致 / 挂载点可用空间异常,删除无用的临时文件之后,/ 挂载点的可用空间马上恢复正常了,查看 /var/spool/mail/root ,邮件也可以正常生成了。问题完美解决。

0 人点赞