Crontab 定时任务详解:从语法到踩坑

备份、推送、清理都靠定时任务,但 cron 的坑大多不在语法。

语法回顾

30 3 * * * /root/backup.sh    # 每天 3:30
*/10 * * * * /root/task.sh    # 每 10 分钟
0 4 * * 1 /root/weekly.sh     # 每周一 4:00

三个高频坑

  1. 环境变量:cron 的 PATH 极简,脚本里要么写绝对路径,要么开头 export PATH
  2. 没有输出去向:末尾加 >> /var/log/task.log 2>&1,出错有据可查
  3. 任务重叠:长任务加 flock -n /tmp/task.lock 防止堆叠

验证任务真的跑过:看 /var/log/cron 与自己的日志文件,别只看「看起来配了」。

相关文章