Crontab每5分钟一次,但不是在5、10、15等时间

Crontab每5分钟一次,但不是在5、10、15等时间,cron,Cron,我的一些站点需要常规的crontab,我使用它每5分钟启动一次cronjob“*/5****” crontab很小,很轻,但是现在已经有几个站点需要它们了,把它们放在一起,开始不是一个好主意 有了这个“*/5”,cron从5、10、15、20等开始。。。是否可以将其从8、13、18、23等开始?Vixie cron接受范围内的步骤(感谢Keith Thompson),因此您可以这样做 3-58/5 * * * * my_command 对于其他版本的cron,这可能不受支持,您必须这样做 3,

我的一些站点需要常规的crontab,我使用它每5分钟启动一次cronjob“*/5****”

crontab很小,很轻,但是现在已经有几个站点需要它们了,把它们放在一起,开始不是一个好主意


有了这个“*/5”,cron从5、10、15、20等开始。。。是否可以将其从8、13、18、23等开始?

Vixie cron接受范围内的步骤(感谢Keith Thompson),因此您可以这样做

3-58/5 * * * * my_command
对于其他版本的cron,这可能不受支持,您必须这样做

3,8,13,18,23,28,33,38,43,48,53,58 * * * * my_command
另一种选择是

*/5 * * * * sleep 3m ; my_command
这可以适应随机时间的睡眠,从而进一步分散工作。例如,你可以

*/5 * * * * /bin/bash -c 'sleep $((RANDOM/(32767/180))) ; my_command'

或者在
crontab
中进一步使用
SHELL=/bin/bash
使
/bin/bash-c
变得不必要,如果您同意使用
bash
运行
SHELL=
行之后的所有其他cron作业<在
bash
中,code>$RANDOM扩展为一个介于0和32767之间的随机整数,因此您最多可以获得180秒的延迟。

Vixie cron也接受
3-58/5
,相当于
3,8,13,18,23,28,33,38,43,48,53,58