0

我在带有 Linux AMI 的亚马逊 ec2 服务器上运行以下 cronjob (crontab):

*/20 8-22 * * * php -q /var/www/html/xxx.php

不幸的是,该脚本在 23.00 小时后每 20 分钟执行一次。有人可以解释我做错了什么吗?

4

1 回答 1

1

你的语法没有问题。如您所写,该作业每天应执行 45 次,第一次是在 8:00,最后一次是在 22:40。

我有一种预感,这个问题与时区有关:当作业在 23:00 运行时,cron 认为本地时间是 22:00。如果我是对的,那么作业不会在 8:00 运行,而是会在 9:00 或更晚的时间开始。

您可以通过设置一个工作来确认这一点

* * * * * date >> /tmp/cron.date.test

等一下,然后看看文件中的日期是否与您对现在时间的想法一致。这不是一个完美的测试,因为date它将单独确定时区cron,但它将继承其环境,cron因此希望它们彼此同意。

于 2013-05-21T23:14:58.360 回答