ENGINEERING PLAYBOOK
Cron 表达式字段与执行环境
Cron 表达式描述调度时间,不保证任务一定成功。不同实现对特殊字符、时区和夏令时处理可能不同,因此必须先确认实际使用的调度器。
适用人群:需要审查周期任务语义、月末边界和重复执行风险的后端开发人员
排查路径
- 确认实现是 cronie、systemd timer、Kubernetes CronJob 或云调度器。
- 逐字段解释分钟、小时、日、月、星期。
- 检查时区和夏令时切换。
- 把调度成功与任务执行成功分别监控。
执行步骤
- 用绝对路径调用命令和文件。
- 显式设置必要环境变量与工作目录。
- 把标准输出和错误写入可轮转日志。
- 先在测试环境缩短周期验证。
- 为任务加锁避免前一次未结束又启动。
可复制命令与示例
每天凌晨两点
0 2 * * * /usr/local/bin/job工作日每十五分钟
*/15 * * * 1-5 /usr/local/bin/check可复现任务记录
具体错误或任务
每日 02:00 任务在夏令时切换或进程重启后出现漏跑、重复跑。
失败信号:同一业务日期出现两个执行标识,或预期窗口没有任何完成记录。
最小输入
表达式 0 2 * * *、调度器实现、时区、幂等键和最近三次执行记录。
验证命令或步骤
crontab -l | sed -n '/0 2 \* \* \*/p'预期输出
只出现一条目标任务;每次执行使用唯一业务日期作为幂等键。
失败输出
重复配置、多时区解释,或任务仅依赖进程内存判断是否执行。
成功判据
在时区、重启和重试场景下,同一业务日期最多产生一次有效结果,并保留失败记录。
本任务常见错误
- 把自然语言时间直接套进表达式
- 忽略月末和夏令时边界
- 没有幂等键与补偿路径
资料与适用边界
表达式含义依据目标 crontab 实现;补跑、并发和时区行为属于调度平台自身能力,需单独验证。
证据块复核日期:2026-09-04
相关站内页面
资料依据与复核边界
资料复核日期:2026-08-29