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 作业的退出代码存储在哪里?的主要内容,如果未能解决你的问题,请参考以下文章
基于RHEL(centos/red hat)的8个YUM/DNF第三方库
CentOS 之父 Kurtzer 不喜欢 Red Hat 官方对 CentOS 方向转变:创建 Rocky Linux