在 crontab 中,除了常规的时间字段外,还有一些特殊字符用于更灵活地定义计划任务。以下是 crontab 中常用的特殊字符及其用途:
*
(星号)
作用:匹配所有可能的值(通配符)。
示例:
* * * * *
→ 每分钟执行0 * * * *
→ 每小时的 0 分执行(每小时一次),
(逗号)
作用:分隔多个值。
示例:
0 8,12,18 * * *
→ 每天 8:00、12:00、18:00 执行-
(连字符)
作用:指定一个连续的范围。
示例:
0 9-17 * * *
→ 每天 9:00 到 17:00 的每小时整点执行/
(斜杠)
作用:指定步长(间隔频率)。
示例:
*/5 * * * *
→ 每 5 分钟执行一次0 */2 * * *
→ 每 2 小时的整点执行@
符号(快捷关键字)@reboot
→ 系统启动时执行@daily
或 @midnight
→ 每天 00:00 执行@hourly
→ 每小时的 0 分执行@weekly
→ 每周日 00:00 执行@monthly
→ 每月 1 日 00:00 执行@yearly
或 @annually
→ 每年 1 月 1 日 00:00 执行0 4,12 */3 6-9 *
→ 每年 6-9 月的每 3 天的 4:00 和 12:00 执行0 0-8/2 * * *
→ 每天 0:00 到 8:00 之间,每 2 小时执行一次(0:00, 2:00, 4:00, 6:00, 8:00)系统差异:
@
开头的快捷关键字并非所有 cron 实现都支持(如旧版本 cron 可能无效)。%
)在命令部分可能需要转义(如 \%
)。字段范围:
调试工具:
crontab -e
编辑任务前,可通过 Crontab Guru 在线工具验证表达式。通过合理组合这些特殊字符,可以高效地定义复杂的定时任务。如果有具体场景需求,可以进一步优化表达式!