一、基本操作
cron 是 Linux 系统中的定时任务调度工具,可以让用户在特定时间执行某个命令或脚本。下面是 crontab 的基本操作命令:
- 编辑当前用户的定时任务:
crontab -e该命令会打开默认编辑器,允许你添加、修改定时任务。 - 查看当前用户的定时任务:
crontab -l该命令会列出当前用户的所有定时任务。 - 删除当前用户的所有定时任务:
crontab -r该命令会清空当前用户的crontab,删除所有已设定的任务。
二、Crontab 语法格式
Crontab 任务的格式如下:
* * * * * 命令
其中,每个 * 代表不同的时间单位:
| 字段位置 | 代表含义 | 取值范围 |
|---|---|---|
第一个 * | 一小时内的第几分钟 | 0-59 |
第二个 * | 一天内的第几个小时 | 0-23 |
第三个 * | 一个月内的第几天 | 1-31 |
第四个 * | 一年内的第几月 | 1-12 |
第五个 * | 一周内的星期几 | 0-7(0 和 7 都代表星期日) |
注意:
*代表任意时间。例如,第一个*代表“每分钟执行一次”。
三、特殊符号的使用
1. , 逗号(列举多个时间点)
逗号用于指定多个不连续的时间点。例如:
0 8,12,16 * * * 命令
表示每天的 08:00、12:00 和 16:00 各执行一次 命令。
2. - 连字符(指定连续时间范围)
连字符用于定义一个连续的时间范围。例如:
0 5 * * 1-5 命令
表示 每周一到周五的 05:00 执行 命令。
3. */n 斜杠(指定时间间隔)
*/n 用于定义“每隔 n 单位时间执行一次”。例如:
*/10 * * * * 命令
表示 每 10 分钟执行一次 命令。
四、Crontab 示例
1. 每天凌晨 3 点自动备份数据库
0 3 * * * mysqldump -u root -p'密码' mydb > /backup/db_$(date +\%F).sql
2. 每周一至周五的 9:00 发送提醒邮件
0 9 * * 1-5 echo "开始工作啦!" | mail -s "工作提醒" user@example.com
3. 每隔 5 分钟检查 Web 服务器状态
*/5 * * * * curl -Is http://yourwebsite.com | head -n 1 | grep 200 || systemctl restart nginx
4. 每天 23:00 清理临时文件
0 23 * * * rm -rf /tmp/*
以上就是 Linux crontab 定时任务的详细介绍,希望对你有所帮助!










