关于crontab中 n分钟执行一次(*/n)的误解

最近服务器上了一个定时任务,我把它设为:

*/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 分钟执行一次

猜你喜欢

转载自my.oschina.net/u/2399303/blog/1809070