本站源码全部测试通过,配有前台及后台演示图,绿色安全,希望能对大家有所帮助!
  • 首 页
  • VPS/云主机
  • 交流论坛
  • crontab执行结果未通过发送mail通知用户的方法
    时间:2019-06-28 09:44 来源:开源之家 作者:开源之家

    症状

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

    排查过程

    检查 crontab 日志

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

    ?

    1
    journalctl _COMM=crond --since=today

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

    ?

    1
    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 服务即可。

    ?

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


    版权声明:
    —— 本文内容由互联网用户自发贡献, 本站不拥有所有权, 不承担相关法律责任, 如果发现本站有涉嫌抄袭的内容, 欢迎发送邮件至 :
    —— 2225329841@qq.com 举报, 并提供相关证据, 一经查实, 本站将立刻删除涉嫌侵权内容。

    开源之家广告栏目A
    开源之家广告栏目B
    开源之家广告栏目C
    在线客服
    客服微信

    扫一扫......加客服微信