让知识连接你我
投稿赚钱
当前位置: 首页 > Linux > crontab执行结果未通过发送mail通知用户的方法
  • 101
  • 微信分享

    扫一扫,在手机上查看

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

2019.09.05 10:00 254 浏览 举报

  本文具体给我们详细介绍了关于crontab执行工作结果未通过发送mail通知用户的有关资料,本文通过范例代码详细介绍的十分完整,对我们自学或是运用linux系统有着一定的参考自学使用价值,需要的小伙伴们接下来来一起学习交流吧。

  症状

  在某台 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


本文首次发布于开创者素材 ,转载请注明出处,谢谢合作!

相关文章推荐