当应用shell脚本时,你可能想在某个特定的工夫运行shell脚本,Linux零碎中提供了多个在特定工夫运行shell脚本的办法,其中一种办法就是应用at命令。

at命令容许指定Linux零碎何时运行脚本,at命令会将作业提交到队列中,指定shell何时运行该作业。at的守护过程atd会当前台模式运行,查看作业队列来运行作业。atd守护过程会查看零碎上的一个非凡目录来获取at命令的提交的作业。默认状况下,atd守护过程每60秒查看一次目录。有作业时,会查看作业运行工夫,如果工夫与以后工夫匹配,则运行此作业。

at容许应用一套相当简单的指定工夫的办法。它可能承受在当天的hh:mm(小时:分钟)式的工夫指定。如果该工夫已过来,那么就放在第二天执行。当然也可能应用midnight(深夜),noon(中午),teatime(饮茶工夫,个别是下午4点)等比拟含糊的 词语来指定工夫。用户还可能采纳12小时计时制,即在工夫前面加上AM(上午)或PM(下午)来阐明是上午还是下午。 也可能指定命令执行的具体日期,指定格局为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。指定的日期必须跟在指定工夫的前面。

下面介绍的都是相对计时法,其实还可能应用绝对计时法,这对于安顿不久就要执行的命令是很有益处的。指定格局为:now + count time-units,now就是以后工夫,time-units是工夫单位,这里可能是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是工夫的数量,到底是几天,还是几小时,等等。 更有一种计时办法就是间接应用today(明天)、tomorrow(今天)来指定实现命令的工夫。

须要装置此命令

Centos

> yum -y install at> systemctl start atd> systemctl enable atd

Ubuntu

> sudo apt-get install at -y

命令格局

at [参数] [工夫]

命令性能

在一个指定的工夫执行一个指定工作,只能执行一次

命令参数

  • -m 当指定的工作被实现之后,将给用户发送邮件,即便没有规范输入
  • -I atq的别名
  • -d atrm的别名
  • -v 显示工作将被执行的工夫
  • -c 打印工作的内容到规范输入
  • -V 显示版本信息
  • -q<列队> 应用指定的列队
  • -f<文件> 从指定文件读入工作而不是从规范输出读入
  • -t<工夫参数> 以工夫参数的模式提交要运行的工作

其它命令

  • atq 查看所有工作
  • atrm 删除一个工作
at容许应用一套相当简单的指定工夫的办法。他可能承受在当天的hh:mm(小时:分钟)式的工夫指定。如果该工夫已过来,那么就放在第二天执行。当然也可能应用midnight(深夜),noon(中午),teatime(饮茶工夫,个别是下午4点)等比拟含糊的 词语来指定工夫。用户还可能采纳12小时计时制,即在工夫前面加上AM(上午)或PM(下午)来阐明是上午还是下午。 也可能指定命令执行的具体日期,指定格局为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。指定的日期必须跟在指定工夫的前面。 下面介绍的都是相对计时法,其实还可能应用绝对计时法,这对于安顿不久就要执行的命令是很有益处的。指定格局为:now + count time-units ,now就是以后工夫,time-units是工夫单位,这里可能是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是工夫的数量,到底是几天,还是几小时,等等。 更有一种计时办法就是间接应用today(明天)、tomorrow(今天)来指定实现命令的工夫。

三天后的下午 4 点执行 /bin/ls

at 4pm+ 3daysat> /bin/lsat> <EOT>job 5 at Tue Mar 16 16:00:00 2021
<EOT>按ctrl+d

今天10点钟,输入工夫到指定文件内

> at 10:00 tomorrowat> date > /tmp/a.logat> <EOT>job 6 at Sun Mar 14 10:00:00 2021
<EOT>按ctrl+d

查看at的工作列表

> atq5       Tue Mar 16 16:00:00 2021 a root6       Sun Mar 14 10:00:00 2021 a root

显示曾经设置的工作内容

> at -c 5#!/bin/sh/bin/ls

删除曾经设置的工作

> atrm 5

原文链接:https://rumenz.com/rumenbiji/...
微信公众号:入门小站