整理墨尔本服务器定时任务(cron)未执行或异常退出的排查实战。
定时任务异常会影响自动化流程。以下是实战。
一、确认现象 - 任务未按时执行 - 执行了但结果不对 - 间歇性失败
二、定位 1) 查看 cron 日志(/var/log/cron 或 journalctl) 2) 检查 crontab 配置与语法 3) 手动执行脚本对比 4) 查看任务输出与退出码
三、常见原因 1) 环境变量缺失(PATH 等) 2) 脚本无执行权限 3) 工作目录不符预期 4) 时间表达式写错 5) 资源或锁冲突 6) 依赖服务未就绪
四、处理 - 脚本内显式设置环境变量与绝对路径 - 赋予执行权限 - 修正 cron 表达式 - 加锁避免重入 - 增加依赖检查
五、优化 1) 用 systemd timer 替代 cron(可看重启与日志) 2) 输出重定向到日志 3) 失败告警 4) 幂等设计
六、预防 - 任务执行监控 - 失败重试与告警 - 变更后验证
总结:定时任务异常要先看 cron 日志与手动执行对比,重点排查环境变量、权限、路径和表达式。