crontab 是 Linux 自带的定时任务工具,适合定时备份、日志清理、状态检查等自动化运维场景。
基本操作
crontab -e # 编辑当前用户的任务
crontab -l # 查看现有任务
时间格式(分 时 日 月 周)
0 3 * * * 每天凌晨 3 点
*/5 * * * * 每 5 分钟
0 0 * * 0 每周日零点
30 2 1 * * 每月 1 号 2:30
实用示例
# 每天凌晨打包备份网站目录
0 3 * * * tar -czf /backup/www-$(date +\%F).tar.gz /var/www
# 每周清理 30 天前的旧备份
0 4 * * 0 find /backup -name "*.tar.gz" -mtime +30 -delete
注意:cron 环境变量极少,脚本中的命令和文件请写绝对路径;%用于 date 时必须转义为\%。
常见问题
手动执行正常但 cron 不跑?九成是环境变量差异,在脚本开头补全 PATH 即可。