Cron 作业继续运行!

Cron 作业继续运行!

我设置了一个 cron 任务,每小时 wget 一个 PHP 脚本。但是,它似乎陷入了循环并不断运行。如果我在浏览器中或通过命令行运行该脚本,它会正常工作。我尝试使用 wget 和命令行 PHP,但遇到了同样的问题。

这是我的工作:

0, 9-18, * * 1-5 wget http://www2.lichfielddc.gov.uk/planning/cron.php

答案1

从分钟和小时列中删除逗号。明确指定超时和重试,例如

0 9-18 * * 1-5 wget -a /tmp/cron.log --tries=1 --timeout=90 http://www.example.com

您可能希望在测试期间添加日志,这已-a在示例中完成。

[评论后编辑:]

要了解它不是 wget 特有的,您可以将 cron 命令行替换为一个 timeout 命令,该命令的持续时间比我在示例中添加的 90 秒超时更长:

timeout --kill-after=110 --signal=15 110 wget -a /tmp/cron.log --tries=1 --timeout=90 http://www.example.com

wget 应该在 90 秒后停止,如果没有,则timeout在 110 秒后终止它。(信号 SIGTERM=15 应该足够,如果没有,则使用 SIGKILL=9)。

相关内容