01. Cron 是啥——定时闹钟
Cron 就是 Linux 自带的任务计划器,相当于一个全天候不睡觉的管家,到点就帮你做事。备份数据库、清理日志、发邮件报告——这些重复劳动全交给它。
说白了就是你跟服务器说:「每天早上 3 点帮我备份数据库」,然后它雷打不动地执行,你该睡觉睡觉。
02. Crontab 语法
每一条 cron 任务都长这样:分 时 日 月 星期 命令。五个时间字段 + 要执行的命令。记忆技巧:从细到粗,从分钟到星期。
打个比方:'30 3 * * * /backup.sh'——每天凌晨 3:30 执行备份脚本。星号代表「每个」。
bash
# 编辑当前用户的定时任务
crontab -e
# 查看当前用户的定时任务
crontab -l
# 格式:分 时 日 月 星期 命令
# 例子:
0 2 * * * /backup.sh # 每天凌晨 2 点备份
*/5 * * * * /check.sh # 每 5 分钟检查一次
0 9 * * 1 ~/weekly-report.sh # 每周一早上 9 点
0 0 1 * * ~/monthly-bill.sh # 每月 1 号凌晨
@reboot /start-service.sh # 开机自动执行
# 特殊写法(不用记数字)
@daily /backup.sh # = 0 0 * * *
@hourly /check.sh # = 0 * * * *
@weekly /report.sh # = 0 0 * * 003. Cron 日志与排查
Cron 执行了没?出错了怎么查?首先确认 cron 服务在跑,然后查日志:
bash
systemctl status cron # 确认 cron 服务在运行
systemctl restart cron # 改了配置有时需要重启
grep CRON /var/log/syslog # 看 cron 执行记录(Ubuntu)
tail -f /var/log/cron # 看 cron 执行记录(CentOS)
# 建议:cron 命令里用绝对路径 + 输出重定向到日志
0 2 * * * /usr/bin/python3 /home/user/backup.py >> /var/log/backup.log 2>&1cron 里的环境变量跟你的终端不一样,PATH 很短。写脚本时用绝对路径最保险,比如 /usr/bin/python3 而不是 python3。
知识测验
第 1/4 题正确 0
cron 任务 '0 4 * * *' 什么时候执行?
下一节
下一节 SSH 高级用法