共计 1865 个字符,预计需要花费 5 分钟才能阅读完成。
当应用 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+ 3days
at> /bin/ls
at> <EOT>
job 5 at Tue Mar 16 16:00:00 2021
<EOT>
按按 ctrl+d
今天 10 点钟,输入工夫到指定文件内
> at 10:00 tomorrow
at> date > /tmp/a.log
at> <EOT>
job 6 at Sun Mar 14 10:00:00 2021
<EOT>
按按 ctrl+d
查看 at 的工作列表
> atq
5 Tue Mar 16 16:00:00 2021 a root
6 Sun Mar 14 10:00:00 2021 a root
显示曾经设置的工作内容
> at -c 5
#!/bin/sh
/bin/ls
删除曾经设置的工作
> atrm 5
原文链接:https://rumenz.com/rumenbiji/…
微信公众号: 入门小站