一句话承诺:用流程图和命令清单,快速让定时任务“真的”执行而不是默默失败。
三步核查
对照表
项目 | 命令/动作 | 说明 |
|---|---|---|
语法 | crontab -l | 检查分钟/小时/日/月/周 |
环境 | printenv | PATH 与 SHELL 差异 |
日志 | /var/log/cron | 不同发行版位置不同 |
命令清单
代码语言:javascript
AI代码解释
# 编辑任务 crontab -e # 示例:每5分钟写一行日志 */5 * * * * /usr/bin/env bash -lc 'echo "tick $(date)" >> /tmp/cron.log' # 查看日志 cat /tmp/cron.log # 检查系统日志(CentOS/RHEL) tail -f /var/log/cron # Ubuntu可能在syslog sudo journalctl -u cron -f少量解释
- cron 默认环境与交互shell不同,PATH 可能缺少你需要的命令路径。
- 使用
bash -lc能加载登陆shell的配置,减少环境差异。 - 显式写日志到文件有助于确认任务是否运行。
常见坑与替代法
- 坑:使用相对路径导致找不到命令。替代:使用绝对路径。
- 坑:权限不足无法执行。替代:确认用户与文件权限、sudo策略。
- 坑:时间表达有误。替代:先用在线cron表达式校验工具。