Centos / Red Hat 服务器中 Cron 作业的退出代码存储在哪里?

Posted

技术标签:

【中文标题】Centos / Red Hat 服务器中 Cron 作业的退出代码存储在哪里?【英文标题】:Where Are Exit Codes For Cron Jobs Stored In Centos / Red Hat Servers? 【发布时间】:2020-02-12 18:39:32 【问题描述】:

我只需要知道:

    我们的系统设置为使用 /var/log/cron 来存储 cron 日志,但是,这里没有存储退出代码,只是开始/停止时间和作业的 PID。如何强制我们的服务器只为 cron 作业记录一个简单的退出代码?

注意:我并不是要强制被调用的脚本报告它自己的退出代码,我只是想看看 Cron 本身是否有可能记录自己的退出状态。几乎如果你能做一个 echo $?在它运行后立即查看代码是什么。

【问题讨论】:

【参考方案1】:

你应该可以通过引用$?得到返回值——一个用户的crontab(不允许写入/root/no-no)它看起来像这样:

 24      15      *       *       *       /bin/echo "foo"; logger \`echo $?\`
 25      15      *       *       *       /bin/echo "bar" > /root/no-no; logger \`echo $?\`

然后在这种情况下查看记录器的输出。

【讨论】:

【参考方案2】:

我想你正在寻找,

/60 * * * *  /path/to/Script >/path/to/log 2>&1; [ $? != 0 ] && mail -s "SUBJECT" -E email@example.com < /path/to/log

这将在退出代码不等于 0 或 cron 作业失败时通知您。

【讨论】:

以上是关于Centos / Red Hat 服务器中 Cron 作业的退出代码存储在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

Red Hat Linux安装CentOS的yum源

基于RHEL(centos/red hat)的8个YUM/DNF第三方库

CentOS 之父 Kurtzer 不喜欢 Red Hat 官方对 CentOS 方向转变:创建 Rocky Linux

Red Hat Linux安装CentOS的yum源

Installing Lumen -- Red Hat/CentOS

Red Hat Ubuntu Centos 更改登录横幅