crontab 没执行:5 个常见原因排查

更新于 2026-08-30 · 阅读约 2 分钟

“表达式看着对,但任务没跑”是最高频的问题。多数不是表达式错,而是环境错。

1. 时区不对

服务器是 UTC、你在用北京时间算,结果在国内白天触发。先 date 确认时区,再决定怎么写。

2. 命令路径 / 环境变量

cron 的环境变量很少,脚本里最好用绝对路径(如 /usr/bin/python3),或在 crontab 顶部设置 PATH

3. 看不到输出

把输出重定向到日志便于排查:0 2 * * * /path/backup.sh >> /var/log/backup.log 2>&1。也可看 /var/log/cronjournalctl -u cron

0 2 * * * /usr/bin/python3 /opt/job.py >> /var/log/job.log 2>&1
用绝对路径 + 日志重定向,避免“静默失败”。

不确定写的 cron 对不对?贴进去立即看中文含义与下次执行时间:

用 Crontab 中文解释器验证 →