crontab执行结果未通过发送mail通知用户的方法

(编辑:jimmy 日期: 2024/12/26 浏览:2)

症状

在某台 centos7 主机上设置了某个 crontab 任务,但是到时间后运行 mail 后提示 No mail,即cron没有将任务的执行结果发送邮件通知到用户

排查过程

检查 crontab 日志

centos的日志由 systemd 进行管理的,因此可以通过 systemctl 来查看相关日志。

journalctl _COMM=crond --since=today

或者用root查看日志 /var/log/cron

sudo cat /var/log/cron |grep -v '/usr/local/qcloud/stargate/admin/start.sh'

最终我们在日志中会看到一行提示 Jun 22 00:50:19 localhost CROND[21181]: (lujun9972) MAIL (mailed 102 bytes of output but got status 0x004b#012)

也就是邮件发送时失败了。

检查 mail 日志

查看 /var/log/maillog 日志会发现日志中提示 Jun 22 00:50:19 localhost postfix/sendmail[21403]: fatal: parameter inet_interfaces: no local interface found for ::1

也就是说 mail 提示无法为主机上 IPV6 的地址 ::1 发现对应的网卡

解决方法

注释掉 /etc/hosts 中 ::1 对应的地址后发现mail的错误信息变成了 postfix/postdrop[5487]: warning: unable to look up public/pickup: No such file or directory

经过搜索,只需要自己创建缺失文件再重启 postfix 服务即可。

sudo mkfifo /var/spool/postfix/public/pickup
sudo chown postfix:postdrop pickup
systemctl restart postfix.service

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。