在 Godaddy 上的 Cronjob 上安排一个简单的 php 文件

Schedule a simple php file on Cronjob on Godaddy

我正在尝试从下午 6 点开始每 15 分钟 运行 一个 PHP 文件。我已经像这样设置了 cronjob:

*/15 18 * * * /usr/local/bin/php -q /home/ddruva/public_html/site_data/script.php

有人可以确认此脚本是否会在下午 6 点 运行 以及之后每 15 分钟执行一次吗?

服务器使用 MST 标准时间。所以我设置了下午 6 点。我想要 script.php 到 运行 从 6:00 AM IST 到 7:00 PM IST。所以我设置了下午 6 点 MST。

在 Godaddy 中,该过程没有发生。如果 cronjob 运行 成功,有没有办法检查日志?

谢谢!

这个从 18:00 到一天结束...在 11 月 day-of-month 4 日从 18 点到 23 点的每小时第 15 分钟。

*/15 18-23 4 11 * /usr/local/bin/php -q /home/ddruva/public_html/site_data/script.php

然后你今晚从 0:00 开始制作一个新的...在 11 月 5 日到 31 日的每个 day-of-month 的第 15 分钟。

*/15 * 5-31 11 * /usr/local/bin/php -q /home/ddruva/public_html/site_data/script.php

然后你在 12 月每 15 分钟再制作一个。

*/15 * * 12 * /usr/local/bin/php -q /home/ddruva/public_html/site_data/script.php

然后在 12 月,您将它变成一个永远的...删除带有“*”的“12”

The server is in MST standard time... I want the script.php to run from 6:00 AM IST to 7:00 PM IST.

好的,所以...

  • 06:00 IST 是 17:30 MST(前一天)
  • 19:00 IST 是 06:30 MST(同一天)

这会带来两个问题

  1. 它跨越了午夜边界,并且
  2. 偏移的 30 分钟部分使得创建在正确时间开始/停止的重复 15 分钟模式变得非常困难。

最简单的选择是让您的托管服务提供商配置您服务器的时区,或者尝试使用 CRON_TZ 环境变量(如果可用)(可能不适用于 Godaddy)。

CRON_TZ=Asia/Kolkata

*/15 6-18 * * * /usr/local/bin/php -q /home/ddruva/public_html/site_data/script.php

否则,你会得到像这样(丑陋)的东西

# 5.30pm and 5.45pm
30,45 17 * * * /usr/local/bin/php -q /home/ddruva/public_html/site_data/script.php

# Every 15 minutes from midnight till 6am and from 6pm till midnight
*/15 0-5,18-23 * * * /usr/local/bin/php -q /home/ddruva/public_html/site_data/script.php

# 6am and 6.15am
0,15 6 * * * /usr/local/bin/php -q /home/ddruva/public_html/site_data/script.php

使用这种方法,当您的服务器在标准时间和夏令时之间切换时,您可能会 运行 遇到问题,老实说,我真的没有答案。