Cron 表达式生成器

可视化配置定时任务,支持常用预设和中文描述

分钟小时日期月份星期
每分钟 每小时 每天 每月下次执行: 2026-06-09 00:54:00
分钟0-59
小时0-23
日期1-31
月份1-12
星期0-7 (0和7都是周日)

什么是 Cron 表达式?

Cron 表达式是一种用于定义定时任务执行时间的字符串格式,广泛应用于 Linux cron、Kubernetes CronJob、Spring @Scheduled、Node.js node-cron 等定时任务框架中。它通过 5 个字段(分钟、小时、日期、月份、星期)的组合来精确描述任务的执行时间规则。

标准 5 字段 Cron 表达式格式为:分钟 小时 日期 月份 星期,例如 0 9 * * 1-5 表示"每周一到周五的 9:00 执行"。每个字段支持多种写法:星号 * 表示任意值,逗号 , 表示列举,短横线 - 表示范围,斜杠 / 表示步长。

虽然 Cron 表达式功能强大,但手写容易出错,尤其是涉及范围、步长和多个字段组合时。可视化 Cron 表达式生成器通过图形化界面让你直观地配置每个字段,自动生成正确的表达式,并提供中文描述和下次执行时间预览。

为什么需要 Cron 表达式生成器?

Cron 表达式在日常运维和开发中使用频繁:

  • 定时任务配置:在 Linux 服务器、K8s、云函数中设置定时执行的任务
  • 数据备份:配置每天凌晨自动备份数据库
  • 报表生成:设置每月 1 号生成上月统计报表
  • 缓存清理:配置每隔 15 分钟清理过期缓存
  • 消息推送:设置工作日每天定时发送提醒通知
  • 监控检查:每 5 分钟执行一次健康检查

使用 IqsBot Cron 表达式生成器,你可以通过可视化界面直观地配置定时规则,无需记忆 Cron 语法,自动生成正确的表达式并显示中文描述。

相比其他在线 Cron 工具,IqsBot 的核心优势是纯浏览器端运行——支持实时预览下次执行时间,所有处理完全在本地完成。

如何使用 IqsBot Cron 表达式生成器

基础用法

  1. 点击常用预设按钮(如"每天零点"、"每 5 分钟")快速选择
  2. 或在下方可视化面板中逐字段配置:选择"每分钟/指定/范围/周期"模式
  3. 上方自动生成 Cron 表达式并显示中文描述
  4. 点击「复制表达式」将结果复制到剪贴板

高级功能

  • 常用预设:一键应用"每分钟"、"每小时"、"每天零点"等常见规则
  • 可视化配置:每个字段独立配置,支持指定值、范围、周期等模式
  • 中文描述:自动将 Cron 表达式翻译为中文,直观理解执行规则
  • 下次执行时间:实时计算并显示任务的下次执行时间
  • 手动编辑:支持直接输入 Cron 表达式,自动解析到可视化面板

使用示例

示例1:工作日每天 9 点执行

点击预设「工作日9点」→ 自动生成表达式:0 9 * * 1-5

中文描述:第0分钟 9点 每天 每月 周一到周五

示例2:每 15 分钟执行一次

点击预设「每15分钟」→ 自动生成表达式:*/15 * * * *

中文描述:每15分钟 每小时 每天 每月

示例3:每月 1 号凌晨 2 点

配置:分钟=0,小时=2,日期=1,月份=,星期=

表达式:0 2 1 * *

常见问题

Q: Cron 表达式的 5 个字段分别是什么?

A: 依次是:分钟(0–59)、小时(0–23)、日期(1–31)、月份(1–12)、星期(0–7,0 和 7 都代表周日)。记忆口诀:"分时日月周"。

Q: 星号 * 和斜杠 / 怎么理解?

A: 星号 * 表示"任意值",即该字段匹配所有可能值。斜杠 / 表示"步长",如 /5 在分钟字段表示"每 5 分钟"(0, 5, 10, 15...),/15 表示"每 15 分钟"。

Q: 日期和星期同时指定会怎样?

A: 在标准 Cron 中,日期和星期是"或"的关系——只要满足其中一个条件就会执行。例如 0 0 1 * 1 表示每月 1 号或每周一零点都会执行,而不是"每月 1 号且是周一"。

Q: 为什么生成的表达式有 5 个字段,有些教程是 6 个字段?

A: 标准 Linux Cron 是 5 字段格式(分时日月周)。有些系统(如 Spring、Quartz)支持 6 字段格式,在开头增加了"秒"字段。本工具使用标准 5 字段格式,兼容性最好。如果你的系统需要 6 字段,在前面加上秒字段即可(如 0 0 9 * * *)。

Q: 下次执行时间是怎么计算的?

A: 工具从当前时间的下一分钟开始,逐分钟向前查找第一个匹配表达式的时间点。最多查找一年内的时间,如果一年内没有匹配则不显示。

Q: 我的数据会上传到服务器吗?

A: 绝对不会。IqsBot 的所有工具都运行在浏览器本地,Cron 表达式的解析和下次执行时间的计算完全在客户端完成。