crontab
创建和管理用户级别的定时任务,按指定时间周期自动执行命令
语法
crontab [-e | -l | -r] 或 分 时 日 月 周 命令
参数
| 参数 | 说明 | 示例 | 级别 |
|---|---|---|---|
-e |
编辑当前用户的定时任务 | |
常用 |
-l |
列出当前用户的定时任务 | |
常用 |
-r |
删除当前用户的所有定时任务 | |
常用 |
-u |
指定操作其他用户的 crontab | |
常用 |
示例
编辑定时任务(打开编辑器)
crontab -e
查看当前所有定时任务
crontab -l
每天凌晨 2 点执行备份脚本
0 2 * * * /opt/backup.sh
每 5 分钟执行一次健康检查
*/5 * * * * curl -s http://localhost/health
工作日早 9 点生成报告,输出重定向到日志
0 9 * * 1-5 /opt/report.sh >> /var/log/report.log 2>&1
每月 1 号清理 30 天前的临时文件
0 0 1 * * find /tmp -mtime +30 -delete
技巧
- 格式:分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-7,0和7都是周日)
- cron 任务的环境变量和交互式 shell 不同,建议用绝对路径
- 调试技巧:输出重定向 >> /tmp/cron.log 2>&1 记录执行结果
- 在线工具 crontab.guru 可以帮助验证 cron 表达式