我的一些站点需要常规的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'
或者,如果您可以使用bash
运行SHELL =
行之后的所有其他cron作业,则在crontab
中使用SHELL = /bin/bash
使/bin/bash -c
变得不必要。bash
中的$RANDOM
扩展为0到32767之间的随机整数,因此这会使您延迟180秒。