Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Geplante Aufgaben unter Linux – geplante Aufgaben, die nur einmal ausgeführt werden

Geplante Aufgaben unter Linux – geplante Aufgaben, die nur einmal ausgeführt werden

齐天大圣
齐天大圣Original
2020-11-07 17:11:034881Durchsuche

定时任务是操作系统提供给我们的一个非常好的功能,我们经常用定时任务来处理一些事情,比如每天定时备份网站数据、每个月执行下数据统计程序、监控服务器的运行情况(发生错误时给管理员发消息通知)等等,这些都需要定时任务来完成。

linux下的定时任务分为两大类:只执行一次的定时任务,周期性执行的定时任务。今天,我们一起来看看只执行一次的定时任务,关于周期性执行的定时任务,将会在接下来的一篇文章中表述。

atd服务

只执行一次的计划任务,我们是通过at命令来完成的,想要执行at命令则需要先开启atd服务。查看atd服务的运行状况及开启atd服务的命令如下:

# 查看atd服务状况
# systemctl status atd 
# 开启atd服务
# systemctl start atd

at权限管理

当使用at来产生新的任务时,该任务就会以文本文件形式被放到/var/spool/at目录下。

# ll /var/spool/at
total 8
-rwx------ 1 root   root   2890 Nov  7 16:30 a0000201981b23  <===== at产生的文件
drwx------ 2 daemon daemon 4096 Nov  7 16:27 spool

对于at的权限管理,系统有两个专门的文件来指定。这两个文件,其实就和我们理解的黑白名单一样。这两个文件分别是/etc/at.deny(黑名单)、/etc/at.allow(白名单)。系统默认的at.deny的内容为空,而对于/etc/at.allow系统默认是不存在的。如果这两个文件都不存在,则只有root用户可以使用at命令。

at命令详解

我们来看看如何使用at这个命令。

设置计划任务

使用at命令设置计划任务 at [-m] 时间,常用的时间格式——HH:MM YYYY-MM-DD,此外还可以使用英文的now +1 minutes类似形式设置。

# at 17:00 2020-11-11
at> date >> /root/at.txt
at> <EOT>  <=== 这里输入ctrl+d来结束
job 3 at Wed Nov 11 17:00:00 2020

# at now +5 minutes
at> date >> /root/at.txt        
at> <EOT>
job 4 at Sat Nov  7 17:01:00 2020

查看计划任务

使用-l选项可查看计划任务,如果想看具体的命令可以使用-c选项。除此之外,还可以使用atq命令来查看。

# at -l
6 Sat Nov  7 17:13:00 2020 a root
3 Wed Nov 11 17:00:00 2020 a root

# atq
6 Sat Nov  7 17:13:00 2020 a root
3 Wed Nov 11 17:00:00 2020 a root

移除计划任务

还未执行的计划任务,可以通过at -d或atrm来删除。

# at -d 3
# atrm 6

使用at来生成计划任务还有一个好处就是,可以完成脱机管理工作。

Das obige ist der detaillierte Inhalt vonGeplante Aufgaben unter Linux – geplante Aufgaben, die nur einmal ausgeführt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn