Shell 如何检查cronjob是否成功

Shell 如何检查cronjob是否成功,shell,jenkins,cron,Shell,Jenkins,Cron,我正在尝试添加一个用于修补的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。我想知道我的脚

我正在尝试添加一个用于修补的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
。我想知道我的脚本文件(作为
/etc/cron.d
下的
补丁添加)是否成功,我该如何做

谢谢

如何检查cronjob是否成功

“默认情况下,对用户的crontab和cron作业运行的编辑都记录在/var/log/syslog中,并且

$awk”/clearme/{print$1}”/var/log/syslog
另外,设置shebang(第一行):

!/bin/bash
并确保设置可执行文件的绝对路径。例如,
datetime
应设置为
/usr/bin/datetime

因此,在您的情况下,命令可以是:


/usr/bin/yum-d0-y update>/dev/null 2>&1&&/usr/bin/shutdown-r+1“>/etc/cron.d/patch
cron将任何输出发送到stdout或stderr上。要知道cron作业是否成功,请使输出依赖于成功:all good→ 没有输出。可疑的东西→ 回声可疑


不要在crontab中编写带有此类逻辑的长命令——将其放入脚本中,然后从cron启动该脚本。

在不阅读任何可能输出的相关注释的情况下应用修补程序时要非常小心,并且在从脚本(尤其是cron)重新启动时也要非常小心。如果修补程序需要手动干预,而您盲目地应用它并重新启动,那么您很可能无法让该主机重新启动。系统更新最好手动应用,对于Linux,除非更新内核,否则无需重新启动。(所有其他进程,包括
systemd
都可以动态重新启动)@Shelleter我认为当我执行
crontab-l
时,系统cronjob不会显示为条目,如前所述[参见接受的答案]@Rankin以自动化的方式做这件事的更好的方式/方法是什么?好吧,你并不真的想自动化更新。根据您的发行版,您可能需要手动更改以适应更新(不经常,但甚至一年一次——如果您错过了它并关闭了远程管理的机器,那就太多了)。通常更新不超过5分钟。这只是你每隔几天要做的事情之一。如果您正在管理服务器,您甚至可能有意等待几天,以确保在更新您的设备之前更新良好。手动更改的快速示例,其他发行版与之类似。@DavidC.Rankin我可以用什么方式检查cronjob是否运行?我正在尝试执行
cat/dev/null
,但什么也得不到。