20200813linux学习07-任务调度(crontab指令)
文章目录
一、简介
Linux crontab是用来定期执行程序的命令。
当安装完成操作系统之后,默认便会启动此任务调度命令。
crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
linux 任务调度的工作主要分为两类:
- 系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
- 个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置
二、语法
1.设置用户任务调度命令
crontab指令
crontab [ -u user ] [选项]
- -u user 是指设定指定 user 的时程表,不使用 -u user 的话,就是表示设定自己的时程表。
- 选项:
- -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI。
- -r : 删除目前的时程表
- -l : 列出目前的时程表
2.调度任务的时间格式:
f1 f2 f3 f4 f5 program
1.位置的含义
项目 | 含义 | 取值范围 |
---|---|---|
f1 | 一小时当中的第几分钟 | 0~59 |
f2 | 一天当中的第几小时 | 0~23 |
f3 | 一月当中的第几天 | 1~31 |
f4 | 一年当中的第几月 | 1~12 |
f5 | 一周当中的星期几 | 0~7(0和7都是周日) |
2.特殊字符的含义
特殊字符 | 含义 | 举例 |
---|---|---|
* | 任何时间。 | f1 为 * 时表示每分钟都要执行 |
, | 不连续的时间 | 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行 |
- | 连续的时间范围 | 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次 |
*/n | 每隔多久执行一次 | 当f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行 |
三、使用步骤
方式一:
-
设置任务调度文件:
/etc/crontab
-
设置用户任务调度。执行
crontab [用户] –e
命令。 -
接着输入任务到调度文件
- 保存,退出。程序自动执行
&:用户对应的任务调度文件必须有执行权限,可以使用chmod
指令,给用户赋予权限。
方式二:
- 设置任务调度文件:
/etc/crontab
- 设置用户任务调度。执行
crontab [用户] 文件
命令。
- 程序自动执行
四、相关指令
crontab -r
终止任务调度
crontab -l
列出当前有那些任务调度
service crond restart
重启任务调度服务