crontab 系统定时任务
1. crontab 服务管理
sh
## 重新启动 crond 服务
[root@hadoop100 ~]# systemctl restart crond
2. crontab 定时任务设置
基本语法 crontab [选项]
选项说明
选项 | 功能 |
---|---|
-e | 编辑 crontab 定时任务 |
-l | 查询 crontab 任务 |
-r | 删除当前用户所有的 crontab 任务 |
sh
[root@hadoop100 ~]# crontab -e
此时会进入 crontab 编辑界面。可以编辑你的定时任务cron表达式:\* * * * * 执行的任务
星号占位符 | 含义 | 范围 |
---|---|---|
第一个"*" | 一小时当中的第几分钟 | 0-59 |
第二个"*" | 一天当中的第几小时 | 0-23 |
第三个"*" | 一个月当中的第几天 | 1-31 |
第四个"*" | 一年当中的第几月 | 1-12 |
第五个"*" | 一周当中的星期几 | 0-7 ( 0 和 7 都 代 表 星 期日) |
cron表达式中可以使用特殊符号:
特殊符号 | 含义 |
---|---|
* | 代表任何时间。比如第一个"*"就代表一小时中每分钟都执行一次的意思。 |
, | 代表不连续的时间。比如"0 8,12,16 * * * 命令",就代表在每天的8点0分,12点0分,16点0分都执行一次命令 |
- | 代表连续的时间范围。比如"0 5 * * 1-6 命令",代表在周一到周六的凌晨5点0分执行命令 |
*/n | 代表每隔多久执行一次。比如"*/10 * * * * 命令",代表每隔10分钟就执行一遍命令 |
常见的cron表达式执行命令:
时间 | 含义 |
---|---|
45 22 * * * | 每天22点45分执行命令 |
0 17 * * 1 | 每周1的17点0分执行命令 |
0 5 1,15 * * | 每月1号和15号的凌晨5点 0分执行命令 |
40 4 * * 1-5 | 每周一到周五的凌晨4点40分执行命令 |
*/10 4 * * * | 每天的凌晨4点,每隔10分钟执行一次命令 |
0 0 1,15 * 1 | 每月1号和15号,每周1的0点0分都会执行命令。 注意:星期几和几号最好不要同时出现, 因为他们定义的都是天。非常容易让管理员混乱。 |
sh
## 每隔 1 分钟,向/root/bailongma.txt 文件中添加一个 11 的数字
## 进入 crontab 编辑界面
*/1 * * * * /bin/echo "11" >> /root/bailongma.txt