什么是 Cron?
Cron 是类 Unix 操作系统中基于时间的任务调度器,允许用户安排命令或脚本在指定的时间间隔自动运行。它使用一种称为 cron 表达式的特殊语法来定义任务执行的时间。
快速了解
| 全称 | Cron 定时任务调度器 |
|---|---|
| 创建时间 | 1979 年由 Ken Thompson 创建 |
| 规范文档 | 官方规范 |
Cron 工作原理
Cron 最初由 Ken Thompson 于 1979 年为 Version 7 Unix 编写。名称来源于希腊语 'chronos',意为时间。Cron 表达式由五个或六个字段组成,分别表示分钟、小时、月份中的日期、月份、星期几,以及可选的年份。每个字段可以包含特定值、范围、列表或特殊字符,如星号(*)表示任意值。Cron 对于系统管理至关重要,用于日志轮转、备份和定期维护等任务。
主要特点
- 使用五或六字段表达式语法(分钟、小时、日期、月份、星期)
- 支持特殊字符:*(任意)、,(列表)、-(范围)、/(步长)
- 作为守护进程在后台运行
- 每个用户可以有自己的 crontab 文件
- 表达式按系统本地时区计算
- 支持 @yearly、@monthly、@weekly、@daily、@hourly 快捷方式
常见用途
- 安排自动备份
- 运行定期系统维护任务
- 发送定时报告和通知
- 日志轮转和清理
- 在特定时间触发 CI/CD 流水线
示例
# Cron 表达式格式:
# * * * * *
# 分钟 小时 日期 月份 星期
0 9 * * * # 每天上午 9:00
*/15 * * * * # 每 15 分钟
0 0 1 * * # 每月 1 日午夜
0 8-17 * * 1-5 # 周一至周五,8点到17点的每个整点