296

*/20 * * * *

确保它每 20 分钟运行一次,我想每 20 分钟运行一次任务,从每小时 5 点开始,这对 Cron 可行吗?可不可能是:

5/20 * * * * ?

4

3 回答 3

610

要从整点 5 点开始每 20 分钟运行一次任务,请尝试以下操作:

 5-59/20 * * * *

解释

*min 字段中的an与0-59/1where0-59range1step相同。该命令将在范围(0) 中的第一分钟运行,然后在距离第一分钟 (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 * * * *每隔一分钟就会运行一次。

于 2013-10-06T02:17:17.263 回答
72

当然!

5,25,45 * * * * /your/cron
于 2013-02-25T17:59:57.837 回答
17

你可以试试:*/5 * * * * sleep N; your job

于 2013-11-12T02:28:12.843 回答