使用at命令创建定时任务

要使用at命令之前要先确保系统上有没有安装,at命令在RHEL中是默认安装的,但是在centos中是需要自己去手动安装的。

使用rpm -q at命令去查看自己系统上是否有at命令

[root@localhost ~]# rpm -q at
at-3.1.13-20.el7x86_64

如图所示是有这个安装包的,如果没有怎么办呢,那么我们可以使用yum install -y at命令来安装at服务

[root@localhost ~]# yum -y install at
#省略输出信息,最终出现 Complete!,证明安装成功。

如图所示出现Complete或者完毕字样即为安装成功,单单安装成功还不够,我们还需要将at服务开启。并且为了方便使用,我们也顺便设置一下开机自启动。(由于我的系统是centos8,所以这里使用的是systemctl命令)

[root@localhost ~]# systemctl start atd && chkconfig atd on
注意:正在将请求转发到“systemctl enable atd.service”。
Created symlink /etc/systemd/system/multi-user.target.wants/atd.service → /usr/lib/systemd/system/atd.service.

 如图所以我们便已经安装好并启动atd服务了,接下来就开始做几个案例吧!

1、要求在当前时间4分钟后关机,并向登陆系统的所有用户发送提醒信息“The server will shut down in two minutes”

先使用at命令设置启动时间,at now + minutes命令的意思是,在2分钟后执行at中的命令

在at中,我们有使用wall命令进行广播发送给登陆系统的所有用户

使用shutdown -h 2命令指定在2分钟后关机。

按下快捷键ctrl+d结束at输入。(小提示,如果不想真的关机,可以在shutdown命令执行后,及时输入shutdown -c即可取消关机)

[root@localhost ~]# at now +2 minutes
warning: commands will be executed using /bin/sh
at> wall The server will shut down in two minutes
at> shutdown -h 2
at> <EOT>
job 6 at Fri Apr 22 13:00:00 2022
[root@localhost ~]#

 2、设置调度,在当天的21:00/var/log压缩打包,然后关机。

[root@localhost ~]# at 21:00
warning: commands will be executed using /bin/sh
at> tar -zcvf /var/log/log.tar.gz /var/log
at> shutdown -h now
at> <EOT>
job 12 at Fri Apr 22 21:00:00 2022
[root@localhost ~]# 

3、使用atq命令查询在等待的任务,使用atm (任务序号)命令取消等待的任务

[root@localhost ~]# atq
9	Fri Apr 22 13:26:00 2022 a root
[root@localhost ~]# atrm 9
[root@localhost ~]# atq
[root@localhost ~]# 

 上方两个小案例,可供参考。

另附上另一篇博文。at命令详解icon-default.png?t=M3K6http://c.biancheng.net/view/1090.html

猜你喜欢

转载自blog.csdn.net/qq_45477065/article/details/124357898