最近服务器上了一个定时任务,我把它设为:
*/25 * * * * ccc /xxx/xxx
然后告诉测试的同学:25分钟执行一次;
测试同学为了确认又问了一句:是每隔25分钟就执行一次吗?
这一问,问的我不太坚定了。。。(其实在我设25的时候,心里已经在打鼓了。。。)
因为网上各种“crontab 详解”中举的例子都是:
*/1 //表示每分钟执行一次
*/5 //表示每5分钟执行一次
*/10 //表示每10分钟执行一次
可 1,5,10 都是可以被 60 整除的呀,那25呢?
于是我做了个测试:
*/25 * * * * /usr/local/bin/php "/var/www/html/cron.php"
php 代码:
<?php
mkdir('/var/www/html/'.date('H-i-s',time()));
?>
而结果是:
执行的时间是:每小时的 0分,25分,50分,而不是 0,25,50,15,40 。。。
即,每当进入一个新的小时,分钟会从新计算。
所以,“ */n * * * * ” 当 n 不能被 60 整除的时候,就不是:每 n 分钟执行一次