计划任务管理
一、计划任务管理概念
通常由两种:
1、突发性的,也叫一次性的,这次执行完以后就没有的那一种;
2、周期性的,也就是每隔一段时间需要执行一次的。
二、一次性任务
我们处理一次性任务的时候,通过‘at’命令来执行。
不过执行at之前,需要由atd这个服务的支持。
at命令
at 【HH:MM】【yyyy-mm-dd】
新建任务:
回车-继续写
结束页面,ctrl+d 提交
查询任务:atq
如果创建同名,会更改其中一个的时间。
相关命令
at now +2min 以当前系统时间为准,2分钟后
at teatime 今天下午茶时间(下午四点)
at teatime tomorrow 明天下午茶时间
at teatime +3day
noon中午
进文件夹查询一次性任务 :cd /var/spool/at/
当我们执行的时候,系统会发送邮件。
邮件可以通过 cd /var/spool/mail 来查询
删除
atrm + 任务号 =删除任务
三、周期性计划任务crond
crontab命令
●按照预先设置的时间周期(分钟、小时、天…)重复执行用户指定的命令操作
●属于周期性计划任务
●主要设置文件
全局配置文件,位于文件:letc/crontab
系统默认的设置,位于目录:letclcron.*/
用户定义的设置,位于文件: /varlspool/cron/用户名
进入crontab查看属性:
第一行SHELL变量指定了系统要使用哪个shell,这里是bash
第二行PATH变量指定了系统执行命令的路径
第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户
第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。
五个*不同的含义按顺序分别是 分 时 日 月 周
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
在以上各个字段中,还可以使用以下特殊字符:
- 表示该范围内的任意时间
, 表示间隔的多个不连续时间点
- 表示一个连续的时间范围
/ 指定时间的间隔频率
相关命令:
crontab -e //新建任务
crontab -l //查询命令
crontab -r //删除全部
root可以用 crontab -u 用户名来管理其他用户的任务计划