当前位置: 首页>>技术教程>>正文


Cron 作业未运行?

, ,

问题描述

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

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

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

crontab -l 输出以下内容:

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

最佳答案

\\n

Add a >>/tmp/testlog.log to the end of your crontab entry (to redirect\\n output to a file you can investigate or check if it’s running,\\n additionally a 2>&1 would include output from the error console)

\\n

例子

\\n

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

\\n

还要确保以下内容:

  • 以正确的方式添加 cronjobs。如果您在自己的帐户中使用了 crontab -e,则脚本将与您的用户一起运行(因此\ncrontab 条目少了一个字段 — 运行它的用户,这是已知的)。如果您只是将上面的片段复制到 /etc/cron.d,\n它会失败,因为您没有指定用户(或者更确切地说,因为它找不到\n名为 “bash” 的用户)。

  • 确保脚本文件是可执行的,否则它不会\n执行。

  • 重新加载 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

次佳答案

确保脚本文件是可执行的 {chmod 755} 否则不会执行

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13629.html,未经允许,请勿转载。