Cron 作业没有运行?

Ale*_*sky 26 crontab cron syslog

我有一个看起来像这样的 crontab 文件:

* * * * * /home/abliskovs/update/update.sh

但是,当我检查系统日志以获取作业已运行的证据时,没有任何迹象表明它曾经运行过。我如何检查它是否正在运行?

crontab -l 输出以下内容:

* * * * * /home/abliskovs/update/update.sh

小智 24

将 >>/tmp/testlog.log 添加到您的 crontab 条目的末尾(要将输出重定向到您可以调查或检查它是否正在运行的文件,另外 2>&1 将包括来自错误控制台的输出)

例子

0 * * * * /home/abliskovs/update/update.sh 2>&1 /tmp/testlog.log

还要确保以下几点:

  • 以正确的方式添加 cronjob。如果您在自己的帐户中使用了 crontab -e,脚本将与您的用户一起运行(因此 crontab 条目少了一个字段——运行它的用户,众所周知)。如果您只是将上面的片段复制到 /etc/cron.d,它会失败,因为您没有指定用户(或者更确切地说,它没有找到名为“bash”的用户)。
  • 确保脚本文件是可执行的,否则不会执行。
  • 重新加载 cron 作业sudo service reload,或重新启动 cron 服务sudo /etc/init.d/cron restart

如何使文件可执行?

使文件可执行的几种方法

chmod +x /home/abliskovs/update/update.sh 

chmod -R 0755 /home/abliskovs/update/update.sh

chmod a+x /home/abliskovs/update/update.sh
Run Code Online (Sandbox Code Playgroud)