Cron 定时任务速查表
Cron 是 Unix 系统的定时任务调度器,用 5 个字段表示时间,配置自动化任务必备。
返回 系统与运维时间格式 8
* * * * * command分 时 日 月 周
0 * * * *每小时整点执行
*/15 * * * *每 15 分钟执行
0 */2 * * *每 2 小时执行
0 18 * * 0-6每天 18:00 执行
10 2 * * 6,7周六日 2:10 执行
0 0 * * 0每周日午夜执行
0 0 1 * *每月 1 号午夜执行
特殊字符串 6
@reboot系统启动时执行
@hourly每小时(同 0 * * * *)
@daily / @midnight每天午夜(同 0 0 * * *)
@weekly每周日午夜(同 0 0 * * 0)
@monthly每月 1 号午夜(同 0 0 1 * *)
@yearly / @annually每年 1 月 1 日(同 0 0 1 1 *)
crontab 命令 5
crontab -e编辑当前用户的 crontab
crontab -l列出当前用户的定时任务
crontab -r删除当前用户的 crontab
crontab -u user -e编辑指定用户的 crontab
echo "@reboot echo hi" | crontab快速添加任务
常用示例 4
0 2 * * * /path/backup.sh每天凌晨 2 点执行备份脚本
*/5 * * * * curl https://example.com/health每 5 分钟健康检查
0 9 * * 1-5 mail -s "Report"工作日 9 点发送邮件
0 0 1 * * /path/cleanup.sh每月 1 号清理临时文件
💡 提示
- 时间格式:分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-6, 0=周日)。
- * 表示所有值,, 分隔多个值,- 表示范围,/ 表示步长。
- 脚本路径必须用绝对路径,否则可能找不到命令。
- cron 环境变量 minimal,建议在脚本里显式设置 PATH。
- 日志输出:command >> /var/log/cron.log 2>&1 重定向 stdout 和 stderr。