Debian 定时器故障排查速查
一 快速判断与定位
二 systemd 定时器排查清单
三 Cron 排查清单
四 常见症状与修复对照表
| 症状 | 优先检查 | 修复建议 |
|---|---|---|
| 到点未执行 | systemd:list-timers 的 Next Elapse;cron:/var/log/syslog 无记录 | 核对 OnCalendar/时间字段;确认 timer 或 cron 已启动;必要时 daemon-reload/restart |
| 服务启动了但任务没跑 | journalctl -u your-job.service;脚本权限 | 给脚本 chmod +x;用绝对路径;在 .service ExecStart 中显式声明解释器与脚本路径 |
| 执行时间“漂移” | timedatectl、系统时区 | 使用 timedatectl set-timezone 修正时区;必要时同步硬件时钟 |
| 日志看不到输出 | grep CRON /var/log/syslog;本地邮件 | 在 crontab 增加日志重定向(如 >> /var/log/myjob.log 2>&1);检查 /var/mail/$USER |
| 只在某个用户下不执行 | 该用户的 crontab -l;权限/环境 | 切换到对应用户检查任务与环境;避免在任务中依赖未定义的环境变量 |
| 依赖服务未就绪 | systemctl status 依赖服务 | 在 .service 中配置 After=、Requires= 等依赖,或确保依赖先行启动 |
五 实用命令清单