You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置每4小时48分钟执行的Cron任务?是否需创建5个任务?

如何配置每4小时48分钟执行一次的Cron任务?

嘿,这个问题踩中了Cron的一个常见坑!先给你明确结论:确实需要拆分出5个独立的Cron表达式——别急,我一步步给你讲清楚来龙去脉。

首先得纠正你之前的表达式错误:你写的*/48 */4 ***完全不符合需求。因为Cron的分钟和小时字段是独立生效的:

  • */48 表示每48分钟触发一次(0分、48分)
  • */4 表示每4小时触发一次(0点、4点、8点...)
    组合起来的效果是:在每4小时的第0分钟和第48分钟分别执行,比如00:00、04:00、04:48、08:00、08:48... 间隔一会儿是4小时,一会儿是48分钟,完全不是你要的每4小时48分钟一次的规律。

那正确的做法是什么?

先换算时间:4小时48分钟 = 288分钟。一天是1440分钟,1440 ÷ 288 = 5,也就是说这个间隔刚好能在一天内循环5次,之后回到起始时间。所以我们只需要把这5个触发时间拆成单独的Cron表达式即可:

  • 第一次(00:00):0 0 * * *
  • 第二次(04:48):48 4 * * *
  • 第三次(09:36):36 9 * * *
  • 第四次(14:24):24 14 * * *
  • 第五次(19:12):12 19 * * *

你可以验证一下每个时间点的间隔:00:00到04:48是4h48m,04:48到09:36也是,直到19:12到第二天00:00,刚好也是4小时48分钟,完美形成循环。

为什么必须用多个任务?因为标准Cron的语法不支持跨字段的间隔计算——它没法理解“每隔288分钟执行一次”这种包含小时和分钟的复合间隔,只能通过拆分固定时间点来实现。如果你的系统支持更灵活的调度工具(比如systemd timers),可以直接设置类似OnCalendar=*:0/288的规则,但如果是传统Cron,拆分多个任务是唯一的可行方案。

内容的提问来源于stack exchange,提问作者Vaishnav MK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:46:31