Cronjob 每 5 分钟运行一次,但不是在特定的时间运行

Cronjob 每 5 分钟运行一次,但不是在特定的时间运行

我遇到了一个奇怪的问题。使用 Debian 6 和 crontab -e(以 root 身份),以下 cronjob很好用

 */5 * * * * bin/sh /root/backup

但它不起作用如果我将其设置为在特定时间运行:

 00 12 * * * bin/sh /root/backup

不幸的是,日志文件中根本没有任何错误。

 date

显示正确的时间和时区。

我还在 /etc/default/rcS 中将 UTC 更改为“no”而不是“yes”,但这没有帮助。

我完全不知道原因是什么,希望您能为我找到解决方案!

答案1

正如前面提到的,请确保文件末尾有一个空行。我也不会使用,bin/sh而是使用绝对路径(/bin/sh)。

可能存在的问题(如果没有错误,则可能被视为错误)是您指定的00而不是0。时间的规范(取自手册页)是:

The time and date fields are:

          field          allowed values
          -----          --------------
          minute         0-59
          hour           0-23
          day of month   1-31
          month          1-12 (or names, see below)
          day of week    0-7 (0 or 7 is Sun, or use names)

请注意,他们指定了一个单数数字0

答案2

确保包含特定日期的行不是 crontab 中的最后一行。上次我检查时,Vixie cron 仍然有一个 bug,即所有 crontab 行都需要换行才能正常工作。

也许最后的一条评论就足够了。

答案3

您缺少 cron 作业的用户部分。

0 12 * * * root /bin/sh /root/backup

相关内容