Cron 每天 00h05 开始

Cron start at 00h05 everyday

现在我 运行 我的计划任务每​​天从 00h05 开始。

当前 cron:* 5 0 * * *

到目前为止,我已经按计划完成了这个 cron。我的 cron 表达式是否正确,对我有什么建议吗?

有点,这是每天 12:05am (00:05) 的表达式, 以及那一分钟的每一秒!

这是计算 6 部分 cron 表达式的方法:

 * 5 0 * * *
 - - - - - -
 | | | | | |
 | | | | | +--- day of week (0 - 6) (Sunday=0)
 | | | | +----- month (1 - 12)
 | | | +------- day of month (1 - 31)
 | | +--------- hour (0 - 23)
 | +----------- min (0 - 59)
 +------------- sec (0 - 59)

所以这实际上是:

任意秒, 5分钟,零小时。

这意味着它适用于:

00:05:00, 00:05:01, 00:05:02, 00:05:03, 00:05:04, 00:05:05, ...

你真正想要的是:

 0 5 0 * * *

至于建议,如果你的引擎支持它们,我会使用 5 部分 cron 而不是这会忽略第二个组件并且在跨 UNIX 平台中更常见。

计算 cron 表达式的关键实际上是从右边开始,而不是左边!

网上有很多cron表达式生成器,这可能是我最喜欢的:

CronTab GUI http://corntab.com

 5 0 * * *
 - - - - -
 | | | | |
 | | | | +----- day of week (0 - 6) (Sunday=0)
 | | | +------- month (1 - 12)
 | | +--------- day of month (1 - 31)
 | +----------- hour (0 - 23)
 +------------- min (0 - 59)

Spring uses 6 part crons. If you use an online tool to generate a cron expression, be sure to add in the leading seconds component, AS A ZERO (0) if you do not care what the seconds component is! * indicates that the expression is true for ALL possible values.