CentOS_计划任务之At
Posted 正月十六工作室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS_计划任务之At相关的知识,希望对你有一定的参考价值。
CentOS 8计划任务之At
目录
1 常见的计划任务
在Linux系统中,常见的能实现定时任务的软件有at、cron和anacron。
其中,各个服务有其独特的点:
(1) At:适合仅执行一次就结束的调度命令,需要在后台启动守护进程atd;
(2) Cron:适合脚本、单句命令的调度,需要在后台启动守护进程Crond,并通过Crondtab命令实现;
(3) Anacron:适合实现以天为周期,在关机状态下未执行的任务可在开机后继续执行。
有些计划任务是只需要执行一次就能完成的,这时候就需要使用到At服务啦;本文将着重介绍At服务。
2 了解At
2.1 At的使用
2.2.1 At服务
一般情况下At服务默认安装并开启。
如果系统没有安装,可以输入以下命令安装At服务
yum install -y at
常规的控制命令
systemctl start at //启动At服务
systemctl stop at //停止At服务
systemctl reload at //重载At服务
systemctl restart at //重启At服务
设置At服务开机自启
systemctl enable at
检查At是否已设置为开机自启
ntsysv //用于设置系统的各种服务的软件
如果At服务已设为开机自启,则输入上述命令的情况,如图2-1所示。
2.2.2 At名单
为了提高安全性,可以通过修改At的名单文件,允许或限制特定用户使用At服务。涉及At的名单文件有两个,详情请见下表。
通过表格归纳,我们发现At的白名单要比黑名单优先;一般来说,建议保留一个名单即可(然而系统默认是保留黑名单,即 /etc/at.deny 文件)。
2.2.3 At命令
At命令的格式如下所示。
At [参数 -v|-q|-f|-l|-d|-m] [时间]
参数说明
提示:使用 -f 参数的时候,最好指定的是绝对路径,以避免不必要的麻烦;同时At计划任务的默认目录为 /var/spool/at/ 中。
At命令支持多种时间参数(格式),详情请浏览下表。
At的时间参数
💡提示:At的时间可以组合
3 操作示例
3.1 操作平台
本操作示例将以CentOS 8.2为模板,在X86-64平台上,使用VMware虚拟机,其主要参数如下表。
3.2 项目操作:使用At
3.2.1 创建计划任务
在2021年6月16日下午4点16分执行命令 wall “hello”,如图3-1所示。
#at 16:16 06162021
at> wall “hello”
输入完成之后,按Ctrl键+D键保存并退出。
于此同时,如果时间还没到,At服务会反馈该计划任务的工作号(例如下图的1号),我们可以通过该工作号查询和删除该计划任务。
3.2.2 查询计划任务
查询章节3.2.1中创建的计划任务,如图3-2、3-3所示。
At -c 1 //这里的1视具体的工作号而定(默认从1开始)
输入完成后,我们能看到该任务的详细信息,如下图所示(节选);其中,在详细信息的最底部能看到待执行的计划任务的命令。
3.2.3 删除计划任务
删除章节3.2.2中创建的计划任务,如图3-4所示。
At -d 1 //这里的1视具体的工作号而定(默认从1开始)
输入完成后,并不会出现任何提示,此时再输入 at -c 1 会提示找不到该工作号了。
提示:你也可以在 /var/spool/at目录中删除该计划任务文件;删除了该文件,则对应的计划任务也将会被取消。
制作成员: 陈诺
排版: 郑伟钦
初审: 杨佳佳
复审: 二月二
点击下方“正月十六工作室”查看更多学习资源
以上是关于CentOS_计划任务之At的主要内容,如果未能解决你的问题,请参考以下文章