我在Linux AMI的amazon ec2服务器上运行以下cronjob(crontab):
*/20 8-22 * * * php -q /var/www/html/xxx.php
不幸的是,脚本在23:00后每隔20分钟执行一次。有人可以解释我做错了吗?
答案 0 :(得分:1)
你的语法没有错。正如你所写的那样,这份工作应该每天执行45次,第一次是8:00,最后一次是22:40。
我预感到问题与时区有关:当工作在23:00运行时,cron认为当地时间是22:00。如果我是对的,那么这份工作将不会在8:00运行,而是在9:00或稍后的时间开始。
您可以通过设置
这样的工作来确认这一点* * * * * date >> /tmp/cron.date.test
等一下,然后查看文件中的日期是否与您对时间的看法一致。这不是一个完美的测试,因为date
将自己确定时区与cron
分开,但它会从cron
继承其环境,所以希望他们会同意每个其他