定时任务时间不对先查时区
497 字
2 分钟
定时任务时间不对先查时区
定时任务时间不对先查时区
定时任务最常见的问题是“我以为它会在这个时间跑”。服务器时区、cron 环境和日志时间只要有一个没确认,就容易误判。
排查问题时最重要的是顺序。先确认现象,再缩小范围,最后动手修复;如果一上来就改配置,很容易把原始问题掩盖掉。
先确认现象
先查系统时区和当前时间,再看 crontab 表达式。cron 的环境变量很少,脚本里最好使用绝对路径。
我会保留一条修复前命令,证明问题确实存在。这样修复后才能对比,而不是凭感觉判断。
排查命令
datetimedatectlcrontab -lgrep CRON /var/log/cron | tail -n 20处理原则
- 涉及服务器时,先备份配置或确认回滚方式。
- 涉及进程时,先判断它是不是线上服务。
- 涉及删除时,先用
du、ls、日志确认对象。 - 修完后必须做业务层验证,不只看报错消失。
复盘记录
复盘记录里要写任务实际触发时间、日志路径和失败通知方式。自动化任务没有日志,基本等于不可维护。
最小验收样例
我会记录修复前后的两条命令输出。比如端口问题就保存监听状态,权限问题就保存文件权限,服务问题就保存状态和日志。没有对比证据,就很难说明问题确实被解决。
如果操作发生在服务器上,还要写明当前用户、工作目录和影响范围。排查文章不是命令收藏夹,而是下一次可以照着走的现场记录。
小结
定时任务时间不对先查时区 不是记一个命令,而是记一条排查链路。现象、命令、输出、验证都留下,下次才不用重新猜。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!













