跳到正文
SPCXTools

Cron 表达式生成器

编写 Crontab 定时任务,以自然语言阅读计划说明,并准确查看下次执行时间。

本地运行——文件不会离开你的设备

正在加载工具…

如何使用Cron 表达式生成器

  1. 1输入 Cron 表达式,或从预设(如“工作日 09:00”)开始。
  2. 2分别或在主输入框中编辑五个字段:分钟、小时、日、月和星期。
  3. 3阅读自然语言描述,确保定时任务符合您的预期。
  4. 4查看您所在时区的下次执行时间,然后复制表达式。

轻松准确地编写 Cron 定时任务

Cron 表达式紧凑、强大,但也容易出错。仅仅一个字段放错位置,就可能把“每天凌晨 2 点”变成“凌晨 2 点到 3 点之间的每一分钟”。这款 Cron 表达式生成器允许您逐个字段或通过预设来构建定时任务,用通俗易懂的语言进行解释,并列出接下来的运行时间。这样您就可以确保备份、报告或清理任务完全按照您的预期运行。

功能特点

  • 五字段编辑器,与完整表达式实时同步。
  • 通俗易懂的描述,直观解释定时任务。
  • 未来五次运行时间,根据您的所在时区计算。
  • 常用预设,涵盖最常见的定时任务。
  • 语法验证,通过清晰的提示信息指出错误的字段。
  • 支持月份和星期名称(JAN–DEC,SUN–SAT)以及 @daily 等快捷指令。
  • 在浏览器中离线可用。

Cron 语法速查表

┌───────── minute (0–59)
│ ┌─────── hour (0–23)
│ │ ┌───── day of month (1–31)
│ │ │ ┌─── month (1–12 or JAN–DEC)
│ │ │ │ ┌─ day of week (0–7 or SUN–SAT; 0 and 7 = Sunday)
│ │ │ │ │
* * * * *
符号 含义 示例
* 任意值 * * * * * — 每分钟
, 列表 0 8,12,18 * * * — 在 08:00、12:00 和 18:00
- 范围 0 9-17 * * * — 09:00 到 17:00 之间的每个小时
/ 步长 */15 * * * * — 每 15 分钟

常见示例

表达式 执行时间
*/5 * * * * 每 5 分钟
0 * * * * 每小时整点
0 2 * * * 每天 02:00
0 9 * * 1-5 工作日 09:00
0 0 * * 0 每周日零点
0 0 1 * * 每月 1 号
0 0 1 1 * 每年 1 月 1 日
30 18 * * 5 每周五 18:30

提示

  • 注意时区。 服务器和云调度程序通常使用 UTC。请使用时区转换器转换本地时间。
  • 避免在整点运行非紧急任务;许多系统会在 0 * * * * 执行任务,因此选择像 7 这样的分钟数可以分散负载。
  • 检查时间戳:使用时间戳转换器解析日志中的时间戳。

常见问题

cron 表达式的五个字段分别代表什么?
从左到右依次为:分钟 (0–59)、小时 (0–23)、日 (1–31)、月 (1–12 或 JAN–DEC) 和星期 (0–7,其中 0 和 7 都表示星期日,或 SUN–SAT)。例如,30 6 * * 1 表示每周一 06:30 运行。
*、逗号、连字符和斜杠分别代表什么?
* 表示所有可能的值,逗号用于列举多个值(1,15),连字符表示范围(9-17),斜杠用于设置步长(*/10 = 每 10,0-30/5 = 0 到 30 之间每 5)。它们可以组合使用,例如 0,30 8-18 * * 1-5。
如果同时设置“日”和“星期”会怎样?
在标准 cron 中,如果这两个字段都被指定,则只要满足其中一个条件,任务就会运行。0 12 13 * 5 会在每月 13 日的中午以及每个星期五运行——而不仅仅是在 13 日且为星期五时运行。
下次运行时间显示的是哪个时区?
它们是根据您设备的时区计算的。服务器会在其自身的时区(通常是 UTC)运行 cron,因此请进行相应的转换——例如使用时区转换器。
支持“秒”或“年”字段吗?
本工具使用 crontab、大多数 Linux 系统、GitHub Actions、Kubernetes CronJobs 以及许多云调度程序所采用的标准五字段格式。某些工具(如 Quartz)会增加“秒”和“年”字段;在此处检查表达式之前,请先删除这些字段。支持 @daily 和 @hourly 等快捷方式。