什么是定时任务?

定时任务是按照预设时间自动执行的任务,常用于数据备份、日志清理、定期脚本执行等场景。

Linux Crontab

Crontab是Linux系统的定时任务管理工具。

Crontab命令

  • crontab -e - 编辑定时任务
  • crontab -l - 查看定时任务
  • crontab -r - 删除所有定时任务

时间格式

分 时 日 月 周 命令
*  *  *  *  *  command

分:0-59
时:0-23
日:1-31
月:1-12
周:0-7(0和7都是周日)

常用示例

表达式含义
0 2 * * *每天凌晨2点
*/5 * * * *每5分钟
0 0 * * 0每周日凌晨
0 0 1 * *每月1日凌晨
30 8 * * 1-5工作日8:30

实际应用示例

每日数据库备份:

0 3 * * * mysqldump -u root -p密码 数据库 > /backup/db_$(date +%Y%m%d).sql

每周清理日志:

0 4 * * 0 find /var/log -name "*.log" -mtime +30 -delete

注意事项

  • 命令使用绝对路径
  • 注意脚本执行权限
  • 建议将输出重定向到日志
  • 测试脚本后再加入定时任务