目录
一:at一次性任务设置1.1:at命令基本不格式1.2:at命令使用顺序1.3:atq命令,查看待执行的任务列表1.4:atrm命令,删除指定编号的at任务
二:crontab周期性任务设置2.1:crontab的配置文件和目录2.1.1:/etc/crontaab全局配置文件2.1.2:/etc/cron.*系统默认设置2.1.3:/var/spool/cron/用户名 用户定义的位置
2.2:使用crontab命令管理用户的计划任务
一:at一次性任务设置
CentOS7系统中的计划任务是由at,cronie软件包提供,通过atd和crond这两个系统服务实现一次性,周期性的计划任务功能,并分别通过at,crontab命令进行计划任务设置开启系统服务atd是at命令设置的计划任务的前提条件
1.1:at命令基本不格式
at
[HH:MM
] [yyyy-mm-dd
] '//at 时:分 年-月-日'
1.2:at命令使用顺序
查看时间—设置时间—输入命令—CTRL+D提交任务date:查看当前时间.设置任务,时间不可在当前时间之前命令输入完成后按CTRL+D提交任务即可
[root@localhost ~
]
2020年 10月 21日 星期三 22:00:58 CST
[root@localhost ~
]
1.3:atq命令,查看待执行的任务列表
对于已经设置,但并未执行的任务,可通过atq命令查看.(已经执行的任务不会出现)atq查看的任务列表,每个任务的序号不会变动,即便1-5任务序号任务已经执行完毕,现实的第六个为执行任务序号也是6,而不会变成1
1.4:atrm命令,删除指定编号的at任务
atrm命令用来删除指定编号的at任务,编号可以通过atq查看删除后的at任务不会出现在atp显示结果中
二:crontab周期性任务设置
crontab(定时任务)使用crontab命令设置的计划任务可以按照预设的周期重复执行,可以大大减轻重复性系统管理任务的操作软件包cronie提供crontab工具,系统服务crontab和配置文件/etc/crontab开启系统服务crontab十七栋周期性任务的前提条件
2.1:crontab的配置文件和目录
crontab通过多个目录和文件设置计划任务,不同类型的任务有不同的配置文件来配置
2.1.1:/etc/crontaab全局配置文件
全局配置文件/etc/crontab 文件中设置的是维护Linux系统所需要的任务Linux系统及相关程序在安装时自动设置不建议用户手动修改此文件
[root@localhost ~
]
SHELL
=/bin/bash
'//设置执行计划任务的Shell环境'
PATH
=/sbin:/bin:/usr/sbin:/usr/bin
'//定义可执行命令及程序的路径'
MAILTO
=root
'//将任务输出信息发送到指定用户的邮箱'
HOME
=/
'//执行计划任务时使用的主目录'
2.1.2:/etc/cron.*系统默认设置
系统默认设置cron人物的配置文件存放目录软件包crontabs安装后,会在/etc/cron.*/目录下生成存放一些系统默认设置的计划任务目录,设置了系统每个小时,每一天做些什么任务例如: /etc/cron.hourly/ 目录下存放的是系统每小时要做的任务可执行脚本 /etc/cron.daily/ 目录下存放的是系统每天要做的任务可执行脚本 /etc/cron/weekly/ 目录下存放的是系统每周要做的任务可执行脚本 /etc/cron/monthly/ 目录下存放的是系统每月要做的任务可执行脚本这些是可执行脚本,不是cron配置文件,cron服务通过run-parts工具调用执行这些脚本
2.1.3:/var/spool/cron/用户名 用户定义的位置
用户自行执行的cron计划任务将被保存在目录/var/spool/cron/中用户使用crontab命令创建计划任务,就会在/var/spool/cron/目录下生成一个与用户名相同的文件例如: root用户的cron计划任务保存在配置文件/var/spool/cron/root 中
[root@localhost ~
]
ls: 无法访问/var/spool/cron/*: 没有那个文件或目录
'//没有创建任务'
cron守护进程会自动检查上述三个文件,若有配置更改,就会载入内存,不许重启cron守护进程就可以时设置生效
2.2:使用crontab命令管理用户的计划任务
常用选项
crontab -e
[-u 用户名
] '//编辑计划任务 e:edit,编辑,使用方式同Vim编辑器。'
crontab -l
[-u 用户名
] '//查看计划任务 l:list,列表'
crontab -r
[-u 用户名
] '//删除计划任务 r:remove,移除'
crontab -l
'//查看当前用户的计划列表'
crontab -l -u lisi
'//查看lisi用户的计划任务'
crontab -e
'//可以操作删除一条计划任务'
crontab -r
'//删除用户所有的计划任务'
命令格式:时间周期设置+任务内容设置 分时日月周的取值范围和命令说明
字段命令
分钟取值范围0-59之间的任意数字小时取值范围0-23之间的任意数字日期取值范围1-31之间的任意数字月份取值范围1-12之间的任意数字星期取值范围0-7之间的任意数字,0和7都代表星期日命令要执行的命令或程序脚本
时间数值的特殊表示方法
* 表示该范围内的任意时间
, 表示间隔的多个不连续的时间点
- 表示一个连续的时间范围
/ 指定间隔的时间频率
例如:
0 17 * * 1-5
'//表示周一到周五每天17:00'
30 8 * * 1,3,5
'// 表示每周一,三,五的8点30分'
0 8-18/2 * * *
'// 表示8点到18点之间每2小时'
0 * */3 * *
'//表示每3天'