1015 工具箱
全部工具/ 时间日期/ Cron 表达式

Cron 表达式

解析 Cron 表达式的含义并推算接下来 10 次执行时间

Cron 表达式分 时 日 月 周
常用:
表达式含义

点「解析」查看含义

接下来 10 次执行时间按本机时区计算
序号执行时间距离现在
还没有结果
Cron 是 Linux 的定时任务表达式,五个字段依次表示「分钟 小时 日 月 星期」,* 表示任意值,*/5 表示每 5 个单位,1-5 表示区间,1,3,5 表示列举。注意:日和周同时被限定时,多数实现是「满足其一即执行」。

关于Cron 表达式

写 crontab 时最容易出的错就是五个字段的顺序搞反 —— 分、时、日、月、周,尤其是「日」和「周」两个字段同时限定时,实际行为往往和预期不一样。本工具把你写的表达式翻译成中文描述,并推算出接下来 10 次真正会执行的时间点。配置之前跑一遍,比对着文档数格子可靠得多。

主要功能

  • 解析 5 位标准 cron 表达式
  • 翻译成中文含义说明
  • 推算接下来 10 次执行时间
  • 支持 * / , - 全部通配语法
  • 常用表达式一键填入(每分钟、每天零点等)

使用方法

  1. 在输入框写下 cron 表达式
  2. 查看中文解释,确认字段顺序没错
  3. 核对接下来 10 次执行时间是否符合预期
  4. 确认无误后复制到 crontab 配置里

常见问题

五个字段分别是什么?

从左到右依次是:分钟(0-59)、小时(0-23)、日(1-31)、月(1-12)、星期(0-6,0 表示周日)。写之前先默念一遍这个顺序能避免大部分错误。

「日」和「周」同时限定会怎样?

在标准 cron 里两者是「或」的关系,不是「且」。比如 0 0 1 * 1 表示每月 1 号或者每周一执行,而不是「每月 1 号且是周一」。想表达「且」需要脚本内部再判断。

支持 6 位表达式吗?

本工具解析 5 位标准格式。带秒的 6 位表达式是 Quartz、Spring 等框架的扩展语法,字段含义不同,需要按对应框架的文档来写。