crontab没有在特定的时间运行,但运行每分钟

我想每天晚上8点10分执行一个cron工作。

10 20 * * * curl -s -o /dev/null http://www.domain.com/blah.php 

但是,它不工作。

如果我尝试每分钟运行一次:

 * * * * * curl -s -o /dev/null http://www.domain.com/blah.php 

它工作正常。 是什么赋予了?

命令“date”在我的服务器上产生正确的时间。

在/ etc / default / rcS中将UTC从yes更改为no。 它现在有效。

以上应该工作得很好。 以下是您可以尝试的列表:

  • 尝试一个不同的时间 – 例如,将其设置为在现在5分钟后运行,看看它是否工作
  • 尝试不同的用户
    • 或者不同的crontab( /etc/crontab或其他用户的crontab)
  • 尝试一个更简单的命令(例如echo works > /tmp/cron-works
    • 你也可以在上面加上curl(例如echo works > /tmp/curl-works; curl ... )或者沿着这些线
    • 同时添加另一个cron条目也是很好的,这个条目可以回显并保持原来的curl状态
  • 检查日志 – /var/log/syslog应该显示它执行命令和可能的失败
  • 确认你的curl实际上跑了 – 你怎么知道它是否跑? 我假设你正在查看www.domain.com的日志 – 如果是,请仔细检查日志
  • 尝试特殊的值,例如@houry (完整列表请参阅man 5 crontab

此外,你如何进行身份validation – 如果是networking身份validation,您可能需要确认这是任何crontab执行之前工作。