CronJob 在午夜不工作,但如果我将它设置为每 5 分钟一次,它就会工作

CronJob not working at midnight but its working if i set it at every 5 min

我已经创建了 cronjob,但是如果我在每天午夜将它设置一次,它就无法工作。但如果我每 5 分钟设置一次,那么它就会工作。我不明白这是什么问题?

这里我附上 midnight cron 的截图:

我尝试通过添加我的邮件 ID 来调试它,但如果我将其设置为午夜,我将收不到任何邮件。

您的 cronjob 行应该如下所示:

00 00 * * * /fullpath/to/your/script.php

(00 00 表示午夜 -- 0 分钟和 0 小时 -- * 表示每个月的每一天。)

Syntax: 
  mm hh dd mt wd  command

  mm minute 0-59
  hh hour 0-23
  dd day of month 1-31
  mt month 1-12
  wd day of week 0-7 (Sunday = 0 or 7)
  command: what you want to run
  all numeric values can be replaced by * which means all

更详细:

Minutes [0-59]
|   Hours [0-23]
|   |   Days [1-31]
|   |   |   Months [1-12]
|   |   |   |   Days of the Week [Numeric, 0-6]
|   |   |   |   |
*   *   *   *   * home/path/to/command/the_command.sh

Cronjobs 在他们的环境中工作,而不是你的。所以它找不到 php 二进制文件。使用

寻找 php 路径
which php

并将您的 cronjobs "php" 更改为打印路径。

Cron 到 运行 每天半夜使用 like

00 00 * * * /usr/local/bin/php /home/john/myscript.php

其中 /usr/local/bin/php 是 php 路径。第二个 /home/john/myscript.php 是您的脚本路径。

有很多方法listed here 你可以运行PHP在cron.

如果它不能解决您的问题,请告诉我!