Cron 定时任务

精选 Cron 定时任务 常用指令与核心速查备忘单,涵盖高频用法、配置参数与实用技巧。

#Crontab 格式

*    *    *    *    *  需要执行的命令
┬    ┬    ┬    ┬    ┬
│    │    │    │    └─  星期几 (0=周日 .. 6=周六)
│    │    │    └──────  月份 (1..12)
│    │    └───────────  月中日期 (1..31)
│    └────────────────  小时 (0..23)
└─────────────────────  分钟 (0..59)

时间字段 (Field) 取值范围 (Range) 特殊字符 (Special characters)
分钟 (Minute) 0 - 59 , - * /
小时 (Hour) 0 - 23 , - * /
月中日期 (Day) 1 - 31 , - * ? / L W
月份 (Month) 1 - 12 , - * /
星期 (Day of Wk) 0 - 6 , - * ? / L #

#💡 高频示例

表达式 含义说明
*/15 * * * * 每 15 分钟执行一次
0 * * * * 每小时整点执行一次
0 */2 * * * 每 2 小时执行一次
15 2 * * * 每天凌晨 2:15 执行
15 2 * * ? 每天凌晨 2:15 执行
10 9 * * 5 每周五上午 9:10 执行
0 0 * * 0 每周日凌晨 0:00 执行
15 2 * * 1L 每月最后一个周一的凌晨 2:15 执行
15 0 * * 4#2 每月第二个周四的凌晨 0:15 执行
0 0 1 * * 每月 1 号凌晨 0:00 执行 (月度任务)
0 0 1 1 * 每年 1 月 1 号凌晨 0:00 执行 (年度任务)
@reboot 每次系统重启时执行一次
(非标准补充)

#🛠️ 在线 Cron 生成器

Simple CRON Expression Generator

Enter Date and Time Expression:


Generated CRON Expression:

* * * * *

Description:

Select values to generate a cron expression.

#⚡ 特殊宏缩写

特殊宏名称 对应含义与表达式
@reboot 系统启动时运行一次 (非标准)
@yearly 每年运行一次,等同于 "0 0 1 1 *" (非标准)
@annually @yearly 相同 (非标准)
@monthly 每月运行一次,等同于 "0 0 1 * *" (非标准)
@weekly 每周运行一次,等同于 "0 0 * * 0" (非标准)
@daily 每天运行一次,等同于 "0 0 * * *" (非标准)
@midnight @daily 相同 (非标准)
@hourly 每小时运行一次,等同于 "0 * * * *" (非标准)

#🛠️ Crontab 命令行参数

命令用法 功能说明
crontab -e 编辑或创建当前用户的 crontab 定时任务文件
crontab -l 列出当前用户配置的所有 crontab 定时任务
crontab -r 删除当前用户所有的 crontab 定时任务
crontab -v 查看上次修改 crontab 的时间
(非标准支持)

#🔣 特殊字符详解

特殊字符 含义说明
星号 (*) 代表匹配该字段的所有可能取值
连字符 (-) 用于定义一个连续的范围。例如在星期字段填 1-5 表示周一至周五
斜杠 (/) 用于指定步长增长。例如在分钟字段填 /15 表示每 15 分钟递增执行一次
逗号 (,) 用于分隔列表项。例如在小时字段填 2,6,8 表示在凌晨 2点、6点和8点分别执行
L 仅在日期或星期字段使用,在星期字段填 2L 表示当月最后一个周二
井号 (#) 仅在星期字段使用,后面接 1-5 之间数字。例如 4#1 表示当月的“第一个周四”
问号 (?) 可代替 * 使用,仅允许在日期或星期字段中出现(避免同时冲突指定)

#🔗 参考资源