如何配置Cron任务每3小时在59分钟执行?
如何配置Cron任务每3小时在指定时段的59分执行?
没问题,我来帮你搞定这个Cron表达式的调整。
首先,先明确你要的执行时间是「23:59、02:59、05:59、08:59、11:59、14:59、17:59、20:59」,也就是每3小时一次,但起始点是23:59,而非默认的整点0:00开始。
Cron表达式的结构是 分钟 小时 日 月 星期,我们只需要调整前两个字段就行:
- 分钟字段:固定设为
59,这样任务就会在每个目标小时的59分执行 - 小时字段:需要覆盖你列出的8个小时,这里有两种写法可选:
写法1:直接枚举所有目标小时(兼容性最强)
把所有需要执行的小时用逗号分隔,表达式如下:
59 23,2,5,8,11,14,17,20 * * *
这种写法所有Cron实现都支持,不用担心环境兼容性问题。
写法2:用范围+步长(更简洁)
观察这些小时的规律:从2开始,到23结束,每隔3小时递增一次,所以可以用2-23/3来表示,表达式如下:
59 2-23/3 * * *
这个写法在大多数主流Cron实现(比如Linux系统的vixie-cron)里都能正常工作,比枚举式更简洁。
你可以任选其中一种,两种表达式都会精准触发你想要的时间点。
内容的提问来源于stack exchange,提问作者Taxoz
相关产品推荐
相关产品推荐

