跳到主要内容
常见问题 cronDebian定时任务

Debian cron 任务没有执行?

cron 任务不执行,排查顺序:服务是否在跑 → 任务文件位置对不对 → 脚本本身有没有跑通。本文按此给可复现路径。

发布于 2026/11/11 所属频道 Ubuntu 与 Debian

简短答案

cron 不执行,90% 落在三处:cron 服务没起、任务写错了文件(/etc/cron.d/ vs /var/spool/cron/)、脚本没可执行权限或 shebang 缺失。排查顺序固定:systemctl status cron → crontab -l 确认任务真的在用户 crontab 里 → 手动跑脚本看报错。

现象对照

现象 判断
任务从没跑过 服务没起 / 任务写错文件
跑过但没输出 脚本静默失败(shebang 缺失等)
只在开机时跑过 系统时间错乱(见 NTP 条目)

排查步骤

sudo systemctl status cron
crontab -l                          # 当前用户
sudo crontab -l                     # root
ls /etc/cron.d/ /var/spool/cron/
# 手动跑脚本验证
/path/to/script.sh
grep -i cron /var/log/syslog

任务写进 /etc/cron.d/ 时格式多一列用户名,写错就静默不执行;脚本第一行必写 #!/bin/bash,路径用绝对路径(cron 环境极简,PATH 很短)。服务与 cron 语法说明以 Debian 13.7 DVD 发行文档为准;Debian 13.7 网络安装版 基线同样适用,见 Debian 发行条目。

操作小结

  1. 先 systemctl status cron,服务没起什么都是白搭
  2. 确认任务写对了文件,/etc/cron.d 要带用户名列
  3. 脚本 shebang + 绝对路径,手动先跑通
  4. grep cron /var/log/syslog 看有没有静默报错

相关链接

本文内容基于公开资料整理,仅供参考;涉及授权与合规的操作请以厂商官方文档为准。

相关推荐下载

按本文主题匹配的官方原版镜像条目

配套 PE 工具

制作启动盘、备份数据、修复引导

其他常见问题

同一集合内的相近主题,按标签与关键词匹配