如何检查cronjob是否成功

问题描述 投票:0回答:3

我正在尝试添加一个用于修补的 cronjob,我只是想知道它是否成功。 我已执行以下操作:

echo "0 0 * * * root yum -d 0 -y update > /dev/null 2>&1 && shutdown -r +1" >> /etc/cron.d/patch

现在,当我转到

/var/log/cron
时,我认为所有 cron 作业都应该在那里列出。此外,我看不到任何
/var/log/syslog
。我想知道我的脚本文件(在
patch
下添加为
/etc/cron.d
)是否成功,我该怎么做?

谢谢

shell jenkins cron
3个回答
0
投票

如何检查cronjob是否成功

“对用户 crontab 的编辑和 cron 作业运行默认都会记录到 /var/log/syslog 中,这是检查事情是否未按预期运行的第一个位置。”

$ awk "/clearme/ { print $1 }" /var/log/syslog

另外,设置 shebang(第一行):

#!/bin/bash

并确保设置可执行文件的绝对路径。例如。

datetime
应设置为
/usr/bin/datetime

所以在你的情况下,命令可能是:

/usr/bin/yum -d 0 -y update > /dev/null 2>&1 && /usr/bin/shutdown -r +1" >> /etc/cron.d/patch


0
投票

Cron 将任何输出邮寄到 stdout 或 stderr。要了解 cron 作业是否成功,请使输出依赖于成功:一切正常 → 无输出。有点腥→回声腥。

不要在 crontab 中编写具有此类逻辑的长命令 - 将其放入脚本中并从 cron 启动该脚本。


0
投票

您可以使用

journalctl
命令并 grep 执行 cron 的相关用户名。

下面的例子

sudo journalctl | grep ec2-user

通过分析日志,您将看到执行是否成功。

© www.soinside.com 2019 - 2024. All rights reserved.