问题描述
我正在尝试从6PM开始每15分钟运行一个PHP文件。我已经像这样设置了cronjob:
*/15 18 * * * /usr/local/bin/PHP -q /home/ddruva/public_html/site_data/script.PHP
@H_502_4@
有人可以确认此脚本是否在下午6点以及之后每15分钟运行一次吗?
服务器处于MST标准时间。所以我定了下午6点。我希望script.PHP从IST的6:00 AM到7:00 PM IST运行。因此,我将MST设置为下午6点。
在Godaddy中,该过程没有发生。有没有办法检查cronjob是否已成功运行日志?
谢谢!
解决方法
这个时间从18:00开始直到一天结束,在11月4日的每天的18点到23点之间,每小时每隔15分钟进行一次。
*/15 18-23 4 11 * /usr/local/bin/php -q /home/ddruva/public_html/site_data/script.php
然后您从11月5日至31日的每月的第15分钟(今晚0:00)开始制作新的
。*/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”
,服务器处于MST标准时间...我希望
script.php
的运行时间是IST的6:00 AM到7:00 PM的IST。
好吧...
- 06:00 IST是MST(前一天)17:30 MST
- 19:00 IST是美国标准时间(MST)同一天06:30
这带来了两个问题
- 它越过午夜边界,并且
- 偏移量的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
采用这种方法,当服务器在标准时间和夏令时之间切换时,您可能会遇到问题,老实说,我对此没有真正的答案。