5

crontab执行结果未通过mail通知用户

 3 years ago
source link: https://www.lujun9972.win/blog/2019/06/22/crontab%E6%89%A7%E8%A1%8C%E7%BB%93%E6%9E%9C%E6%9C%AA%E9%80%9A%E8%BF%87mail%E9%80%9A%E7%9F%A5%E7%94%A8%E6%88%B7/index.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

crontab执行结果未通过mail通知用户

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

  1. 检查 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)

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

  2. 检查 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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK