如何以不同的值每30分钟运行一次php作业?

时间:2018-08-07 14:06:04

标签: php bash shell scripting cron

我寻求您的帮助,因为我确实快要疯了(鉴于我对此并不了解,但是我想了解一些东西)。

这是我的大问题:

我有一个php job。这项工作会检查数据库,但这并不重要。真正的问题是该作业必须从上午9点到下午00点每30分钟运行一次。但是:

  1. 必须使用以下值启动作业:-f 'YYYY-mm-dd H:i:s' -t 'YYYY-mm-dd H:i:s',其中-f是开始日期参数,而-t是结束日期参数。
  2. 运行作业时需要进行一些检查,以控制作业是否已经在运行,在这种情况下必须等待。

我以为,那么我需要一个脚本来写文件,例如“确定|上次处理时间”,或者如果写错了文件“ KO |上一次成功完成处理”。

所以crontab我必须有这样的一行:*/30 9-23 * * * /path/script >/dev/null 2>&1

然后:

  1. 脚本必须调用php函数:cd /data/httpd/magento && /opt/rh/php54/root/usr/bin/php /data/httpd/magento/job.php
  2. 必须在{strong> 30分钟的范围内以job.php启动-f 'date -u "+%F %H:%M:%S"' -t 'date -u "+%F %H:%M:%S"'

示例:脚本从上午9点开始,因此范围日期值为-f '2018-08-07 07:00:00' -t '2018-08-07 07:30:00',并在日志文件中写入类似“详细说明| 2018-08-07 07:30:00”)

  1. 30分钟后,脚本再次运行。在运行之前,它会读取日志文件,尤其是处于OK状态的最后处理,然后将正确的日期范围值用于php作业的运行。

我希望我很清楚。也许是胡说八道,但它使我发疯

0 个答案:

没有答案