Crontab表达式怎么写?5分钟掌握定时任务配置

2026-08-14 · 开发者工具

Linux定时任务是后端开发和运维最常用的功能之一,但Crontab表达式的语法让很多人头疼—— "0 2 * * *"到底是每天凌晨2点还是每小时2分?"*/5 * * * *"和"0,5,10,15,20,25,30,35,40,45,50,55 * * * *"有什么区别? 这篇文章用几个实际例子帮你彻底搞懂Crontab表达式。

Crontab表达式的5个字段

一个标准的Crontab表达式由5个字段组成,从左到右依次是:

每个字段都可以用特殊符号来灵活指定时间:

10个最常用的Crontab表达式

以下是实际开发中最常用的定时任务配置,直接复制就能用:

用Crontab生成器可视化配置

手写表达式容易出错,特别是涉及到日期和星期的组合逻辑。用Crontab表达式计算器可以可视化配置:

常见坑:日期和星期的冲突

Crontab中日期和星期字段是"或"的关系,不是"且"。比如0 0 1 * 1表示每月1号每周一执行, 而不是"每月1号且是周一才执行"。如果需要"且"的逻辑,需要在脚本里自行判断。

小结

Crontab表达式记不住没关系,收藏Crontab表达式计算器, 需要的时候可视化配置就行。如果你的定时任务涉及时区转换,还可以配合时区转换器使用。