← 返回工具首页

Cron 表达式是什么

Cron 表达式是 Linux/Unix 系统中的定时任务描述语言,由5~7个字段组成,用来精确指定"什么时候"执行任务。服务器运维、定时备份、报表生成、爬虫调度——几乎所有需要自动执行的场景都能看到它的身影。

格式如下:

┌───────────── 分钟 (0-59)
│ ┌───────────── 小时 (0-23)
│ │ ┌───────────── 日 (1-31)
│ │ │ ┌───────────── 月 (1-12)
│ │ │ │ ┌───────────── 星期 (0-7,0和7都是周日)
│ │ │ │ │
* * * * *

常用示例

0 * * * *          每小时整点执行
0 9 * * *          每天上午9点执行
0 9 * * 1-5        工作日上午9点执行
*/15 * * * *        每15分钟执行一次
0 9 * * 1          每周一上午9点
0 9 1 * *          每月1号上午9点
0 */2 * * *        每2小时执行一次
30 4 * * *         每天凌晨4:30

特殊字符说明

常见坑和注意事项

1. 星期字段的坑

Cron 里星期用 0-7 表示,07 都代表周日。有些系统不一致,要实测。

# 错误理解:以为周日的意思是"周日不运行"
0 9 * * 0       # 实际上:每周日 9:00 运行!而不是跳过周日

2. 日和星期同时指定的坑

当日和星期同时指定非 * 值时,两者为"或"关系(任一满足即执行),而不是"与"关系。

# 每月1号 AND 每周一 才运行?错!
# 实际:每月1号运行 OR 每周一运行(两者满足任一即执行)
0 9 1 * 1

3. 时区问题

Cron 的时间基于服务器时区。如果服务器是 UTC,你的 9 * * * 实际上是北京时间 17:00。要注意校准。

4. 闰年和月末问题

2 29 * * * 只有闰年才执行。31 2 30 * * 永远不会执行。

在线 Cron 表达式测试

手动算 Cron 容易出错,用工具验证最保险:Cron 表达式解析器 可以把 Cron 表达式翻译成自然语言描述,并计算未来多次执行时间。

输入: */15 9-17 * * 1-5
输出: 每个工作日的9点到17点,每15分钟执行一次
下次执行: 周一 09:00 → 09:15 → 09:30 → 09:45...

常用场景汇总

表达式含义
0 * * * *每小时整点
*/5 * * * *每5分钟
0 9 * * *每天9:00
0 9 * * 1-5工作日9:00
0 9 * * 0,6周末9:00
0 0 1 * *每月1号零点
0 0 * * 0每周日零点
30 4 * * *每天4:30
0 */2 * * *每2小时

总结

Cron 表达式学起来简单,但细节很多坑。记住三个原则:1) 用工具验证不要靠猜;2) 注意时区和夏令时;3) 日和星期同时指定时是"或"关系。

需要在线测试和验证?试试 Cron 表达式测试工具

💡 遇到同类问题?用工具快速解决

试试这些配套工具,无需注册,打开即用

Cron 表达式测试

常见问题

Q: 如何使用 cron表达式详解 相关工具?
A: 这类工具一般有明确的输入框和输出框,按提示输入内容,点击对应按钮即可得到结果。建议先用简单示例测试功能是否正常,再处理实际数据。
Q: cron表达式详解 适合在什么场景使用?
A: 根据具体工具类型决定。格式转换工具适合处理第三方数据,编码工具适合加密传输,压缩工具适合文件上传前处理。多积累工具使用经验,遇到问题时能快速判断用哪个工具解决。
Q: 有没有更好的替代工具?
A: 不同工具有不同侧重,重点是理解原理。可以同时安装多个类似工具,实际使用中对比效果,选择最顺手的一个。随着使用经验增加,你也能判断工具的好坏。