cron 语法属于那种十分钟能学会、十年都记不熟的东西。五个字段、区间、步进、列表,*/5 和 0,5,10,15,...,55 的差别——以及那臭名昭著的「写一行、等一小时、看跑没跑」测试循环。按意图问,更快。
五个真实时间表
工作时间每 5 分钟
clai
$ clai cron 行:工作日 9 到 17 点之间每 5 分钟→ */5 9-17 * * 1-5
每月一号
clai
$ clai cron 行:每月一号的 02:30→ 30 2 1 * *
每周一凌晨 3 点
clai
$ clai cron 行:每周一 03:00→ 0 3 * * 1
每 15 分钟,跳过 23:00–06:00
clai
$ clai cron 行:每 15 分钟,06:00 到 22:59 之间→ */15 6-22 * * *
工作日每小时整点
clai
$ clai cron 行:周一到周五每小时整点→ 0 * * * 1-5
先看现有的
写进 crontab -e 之前,先看看里面有什么:
clai
$ clai 显示我当前的 crontab→ crontab -l
一个小提醒
cron 的时间在守护进程的时区里解释,通常是系统时区。如果「每周一凌晨 3 点」需要表示 伦敦的 3 点,但服务器是 UTC,请在 prompt 里说清楚——「每周一伦敦 3 点,写成 UTC」——你会得到对应调整后的 0 3 * * 1(如果守护支持,也可能加一行 CRON_TZ=Europe/London)。