cron 作业未在指定时间内执行二进制文件

cron 作业未在指定时间内执行二进制文件

我想检查执行 cron 作业时使用的环境。我以前让它工作过,但它在某个时候停止了。

这是 crontab 文件中的 cron 作业:

20 13 * * * /usr/bin/env >> /home/user/folder1/environment1.log

通过此行,我希望将环境变量转储到 environment1.log 文件中。

有人建议要检查什么吗?

答案1

编辑:我找到了一个链接所以与此相关。建议在末尾添加 2>&1,例如:

* * * * * myjob.sh >> /var/log/myjob.log 2>&1

正确处理输出的重定向。有关“2>&1”的更多信息这里。


需要检查以下几件事:

  • 运行该作业的用户是否有权写入该位置?
  • 您可以在命令行中运行该命令吗?并且是否得到了正确的输出?
  • 您能将输出写入 /tmp/some_filename.log 吗?
  • 您的代码暗示该作业将在 13:20 运行。这是您预期的时间吗?

答案2

您可以检查 cron 日志以查看事件是否触发。在我的 centos unix 上,路径是:

/var/log/cron

我还对其进行了配置,以便日志轮换保留大约 30 天的日志,这样我就可以检查是否出现问题。

我要检查的另一件事是 cron 服务是否正在运行。在 Centos 中:

service crond status

您还可以使用以下方法进行检查:

ps -ef | grep crond

相关内容