Appearance
crontab
基本用法
查看定时任务
bash
#!/bin/bash
# 查看当前用户的定时任务
crontab -l编辑定时任务
bash
#!/bin/bash
# 编辑当前用户的定时任务
crontab -e删除定时任务
bash
#!/bin/bash
# 删除当前用户的定时任务
crontab -r时间格式
基本格式
bash
# * * * * * command
# │ │ │ │ │
# │ │ │ │ └─── 星期几 (0-7, 0 和 7 都表示星期日)
# │ │ │ └───── 月份 (1-12)
# │ │ └─────── 日期 (1-31)
# │ └───────── 小时 (0-23)
# └─────────── 分钟 (0-59)时间示例
bash
# 每分钟执行
* * * * * command
# 每小时执行
0 * * * * command
# 每天执行
0 0 * * * command
# 每周执行
0 0 * * 0 command
# 每月执行
0 0 1 * * command实用示例
示例1:定时备份
bash
#!/bin/bash
# 每天凌晨 2 点备份
0 2 * * * /path/to/backup.sh
# 每周日凌晨 3 点备份
0 3 * * 0 /path/to/backup.sh示例2:定时清理
bash
#!/bin/bash
# 每天凌晨 1 点清理临时文件
0 1 * * * rm -rf /tmp/*
# 每月 1 号凌晨 2 点清理日志
0 2 1 * * find /var/log -name "*.log" -mtime +30 -delete示例3:定时同步
bash
#!/bin/bash
# 每小时同步数据
0 * * * * /path/to/sync.sh
# 每 10 分钟同步数据
*/10 * * * * /path/to/sync.sh示例4:定时监控
bash
#!/bin/bash
# 每 5 分钟检查服务
*/5 * * * * /path/to/check.sh
# 每分钟检查服务
* * * * * /path/to/check.sh最佳实践
1. 使用绝对路径
bash
# 好的做法
0 0 * * * /path/to/script.sh
# 不好的做法
0 0 * * * script.sh2. 重定向输出
bash
# 好的做法
0 0 * * * /path/to/script.sh > /var/log/script.log 2>&1
# 不好的做法
0 0 * * * /path/to/script.sh3. 设置环境变量
bash
# 好的做法
PATH=/usr/local/bin:/usr/bin:/bin
0 0 * * * /path/to/script.sh
# 不好的做法
0 0 * * * /path/to/script.sh总结
crontab 的关键点:
- 基本用法:查看、编辑、删除定时任务
- 时间格式:分钟、小时、日期、月份、星期几
- 实用示例:定时备份、定时清理、定时同步、定时监控
- 最佳实践:使用绝对路径、重定向输出、设置环境变量
下一节我们将学习系统服务的使用。