不喜欢广告? 无广告 今天

Cron 表达式详解 无需迷失心智地编写计划

发布日期

一个关于crontab语法的实用参考:五个字段、特殊字符、十种即用即走的表达式,以及一个crontab表达式生成器,可帮助您构建和验证调度任务,无需猜测。

Cron 表达式详解:无需迷失心智地编写计划 1
广告 移除?

Cron 任务在类 Unix 系统上运行。其语法——五个用空格分隔的字段——看起来简单,直到你需要在工作日每15分钟执行一次任务,却记不清是第二个字段还是第三个字段。这份资料是你随时可以查阅的参考。

五字段格式

每个 Cron 表达式恰好包含五个字段,用空格分隔,顺序如下:

┌─────────────── minute (0–59)
│ ┌─────────────── hour (0–23)
│ │ ┌─────────────── day of month (1–31)
│ │ │ ┌─────────────── month (1–12)
│ │ │ │ ┌─────────────── day of week (0–7, 0 and 7 = Sunday)
│ │ │ │ │
* * * * *

字段参考

场地允许的值特殊字符例子
(0–59) —— 任务运行的小时中的分钟。0–59* , – /*/15 = 每15分钟
(0–23) —— 使用24小时制。0–23* , – /9-17 = 早上9点到下午5点
月内日期1–31* , – / ?1 = 该月的第一天
(1–12) —— 一月是1–12* , – /*/3 = 每季度一次
星期几0–7(0=周日)* , – / ?1-5 = 周一至周五

特殊字符

  • * — 通配符,匹配该字段中的任意值
  • , — 列表分隔符: 1,3,5 在星期字段中表示周一、周三、周五
  • — 范围: 9-17 在小时字段中表示上午9点到下午5点
  • / — 步长: */15 在分钟字段中表示每15分钟一次; 2/3 表示从2开始每隔3个值
  • ? — 无特定值(仅用于月内日期或星期日期,由 Quartz/Spring 任务调度器使用)

常见 Cron 表达式

每天上午9点描述
* * * * *每分钟
*/5 * * * *每 5 分钟
*/15 * * * *每15分钟
0 * * * *工作日的上午9点
0 0 * * *每天午夜
0 9 * * 1-5工作日每天上午9点
0 9-17 * * 1-5工作日从上午9点到下午5点每小时一次
0 0 * * 0每月1日和15日,凌晨4:30
0 0 1 * *每月第一天午夜
0 0 1 1 *一月一日午夜

三个真实世界示例

1. 每天午夜数据库备份

0 0 * * *

(0–59) —— 任务运行的小时中的分钟。 0, 小时 0, 每天运行。在00:00触发一次——简洁、可预测,且在高峰时段不会干扰。

2. 每15分钟同步一次 API

*/15 * * * *

*/15 在分钟字段中表示“步长为15,从0开始”——每小时在 :00、:15、:30 和 :45 触发。其他字段 *, 因此全天持续运行。

3. 每周清理——周一早上6点

0 6 * * 1

(0–59) —— 任务运行的小时中的分钟。 0, 小时 6, 任意日期,任意月份,星期几 1 (周一)。每周运行一次。更改 15 如果团队更喜欢周五。

构建和验证你的计划

死记硬背所有组合并不是目的——关键是知道去哪里查找。使用 Cron 表达式生成器 来可视化设置字段,并在操作过程中实时查看表达式生成。当你有一个候选表达式后,将其粘贴到 Cron 下一次运行计算器 中确认它在你期望的日期和时间准确触发,再进行部署。

五个字段,四个特殊字符,两个工具来检查工作——这就是你可靠调度任何任务所需的一切。

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?