*/20 * * * *
确保它每 20 分钟运行一次,但我想每 20 分钟运行一次任务,从整点 5 点开始。
这可以用 Cron 实现吗?
要从整点 5 点开始每 20 分钟运行一次任务,请尝试以下操作:
5-59/20 * * * *
解释
分钟字段中的
*
与0-59/1
相同,其中0-59
是范围,1
是步骤。该命令将在 range (0) 内的第一分钟运行,然后在距第一分钟 step (1) 的所有连续分钟运行,直到最后 (59)。
这就是为什么
*/20 * * * *
会在 0 分钟、20 分钟后和 40 分钟后运行——这与每 20 分钟相同。但是,*/25 * * * *
将在 0 分钟、25 分钟后和 50 分钟后运行 - 这与每 25 分钟运行一次不同。这就是为什么通常需要在分钟字段中使用可均匀划分为 60 的步长值。
因此,要偏移开始时间,请明确指定范围并将第一个值设置为偏移量。
示例
5-59/20 * * * *
将在 5 分钟后、25 分钟后和 45 分钟后运行。
10-59/25 * * * *
将在 10 分钟后和 35 分钟后运行。
1-59/2 * * * *
将每隔奇数分钟运行一次。
当然!
5,25,45 * * * * /your/cron
你可以尝试:
*/5 * * * * sleep N; your job