centos 7下计划任务详解之at

2018年08月26日 5605点热度 2人点赞

计划任务包括两种类型:
  1、一次性计划任务 :未来某个时间执行一次指定任务。
  2、周期性计划任务 :每到指定时间点就执行指定的任务,周期性重复执行。


一次性计划任务,常用有两个命令都可以实现此功能:atbatch
周期性计划任务,常用主要有有一个命令: crontab


本篇主要讲解at命令详细用法:
一次性计划任务at和周期性计划任务crontab执行的结果都会通过邮件发送给执行计划任务的用户(所以我们可以发现,哪怕最小化安装的centos 7系统,启动好系统默认也会监听25端口在127.0.0.1上。并且自带sendmail命令)。



一、安装使用at

1、安装at(centos 7.4最小化安装,不包含at命令)

at离线包下载地址:密码:a7ze


2、启动atd程序,不然等下配置提交计划任务时会有下面所示报错。

[root@imzcy ~]# at 20:23
at> echo "你好"
at>
job 1 at Thu May 3 20:23:00 2018
Can't open /var/run/atd.pid to signal atd. No atd running?
[root@imzcy ~]#


3、at命令使用格式:



二、通过at来创建任务(三种方式)

2.1、通过CLI来配置计划任务

2.1.1、使用at命令新建一个任务,在17:59的时候echo显示字符串"向阳花博客-https://www.imzcy.cn"

直接使用at命令指定好时间后,会进入一个CLI界面,手动输入到时候后要执行哪些操作(可以一直回车指定多项操作),最后使用Ctrl+D提交并退出


2.1.2、使用at -l或者atq命令查看刚才创建的任务


2.1.3、使用at -c命令查看指定编号任务的具体内容

可以看到at计划任务使用的PATH环境变量包含哪些目录,如果任务中要执行的命令没包含在PATH环境变量中,记得要使用绝对路径引用命令。


2.1.4、查看任务执行结果

at计划任务的执行结果都会邮件通知对应的用户,所以直接查看/var/spool/mail/目录下对应用户文件的邮件内容或者使用mail命令指定编号查看都行。



2.2、通过读取文件中任务列表来创建计划任务

2.2.1、使用at -f命令从指定文件中读取内容创建任务

2.2.2 使用atq命令查看创建的任务

2.2.3 使用at -c命令查看指定编号任务具体内容,判断是否正确创建任务

2.2.4 使用at -d命令删除指定编号任务



2.3、通过echo显示出要执行的内容来创建at任务


使用at命令创建的所有任务,都会以文件的格式保存在/var/spool/at/目录下面。任务被执行过之后或者提前使用atrm删除了,对应的文件也会被删除。



三、at常用时间格式

3.1 指定具体年月日时间来执行


3.2 指定10分钟之后执行


3.3 指定1小时之后执行


3.4 指定10天之后执行



Chen

健康 · 开心 · 做自己