at命令-一次性定时计划任务

at 可用于设置单次定时任务

常用参数:

  • -V 在标准错误上输出版本号。

  • -q queue 使用指定的队列。一个队列用一个字母标定,有效的的队列标定的 范围是从a到z和从A到Z。at 的缺省队列是 a,batch 的缺省队列是 b。队列的字母顺序越高,则队列运行时越谦让(运行级别越低)。 指定的队列 "="保留给当前运行的作业所在的队列。 如果一个作业被提交到一个以大写字母标定的队列,则与提交到 batch 同样对待。如果给 atq 指定一个队列,则只显示在此指定 队列中的作业。

  • -m 当作业完成时即使没有输出也给用户发邮件。

  • -f file 从文件而不是标准输入中读取作业信息。

  • -l 等同于atq,查看任务列表中的任务数量。

  • -d 等同于atrm,删除指定编号的未执行任务。

  • -v 对于 atq, 显示完整的在队列中未被删除的作业,对于其他 命令,显示作业将要执行的时间。 显示的时间的格式类似于"1997-02-20 14:50",但如果设置了 POSIXLY_CORRECT 环境变量之后,格式类似于"Thu Feb 20 14:50:00 1996"。

  • -c 连接命令行中列出的作业并输出到标准输出。

at允许使用一套相当复杂的指定时间的方法。

  • 能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。 例如:04:00

  • 能够使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间。

  • 能够采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。 例如:12pm

  • 能够指定命令执行的具体日期,指定格式为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。 例如:04:00 2009-03-1

  • 能够使用相对计时法。指定格式为:now + count time-units ,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,几天,几小时。 例如:now + 5 minutes 04pm + 3 days

  • 能够直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。

示例:

at now+1 minutes
at>echo "123"
at>	# Ctrl+D(退出)

at 10:00 pm
at 22:00
at 20:00 today
at 8:00 am tomorrow
at 11:11 2019-11-22
at -f filename 14:30 	# -f 从指定文件中读取要执行的内容,使用-f要注意,导入时以at -f引用时的内容为准,如果在执行at -f命令后再修改文件内容,修改后的结果并不会对已经添加的任务造成影响。必须要删掉之前创建的任务,重新通过 -f 引用最新的内容。

at -l 	# 查看现有任务列表,或者 atq 查看
at -c 1	# 查看编号为1的任务内容
at -d 1	# 删除编号为1的任务,也可以用 atrm 1 来删除

at命令允许指定运行脚本时间,at的守护进程atd会以后台模式运行,检查系统上的一个特殊目录来获取at命令的提交的作业。默认情况下,atd守护进程每60秒检查一次目录。有作业时会检查作业运行时间,如果与当前时间匹配,则运行此作业。

**语法格式:**at [参数]

常用参数:

参数
解释

atq

查看系统中的等待作业

-d

删除系统中的等待作业(等效于atrm命令)

-c

打印任务的内容

-q

使用指定的列队

-f

将指定文件提交等待作业

-t

以时间的形式提交运行作业

参考实例

查看系统中的等待作业:

atq

使用”at -d”或者”atrm”(二者同效)指定id来删除系统中的等待作业,id为”atq”命令输出的第一行顺序数字:

at -d 1
atrm 1 

假设存在 linuxcool.sh 脚本,立即运行:

at -f linuxcool.sh now

在25分钟之后运行 linuxcool.sh 脚本:

at -f linuxcool.sh now+25 min

在10:11运行 linuxcool.sh 脚本:

at -f linuxcool.sh 10:11

在2019年7月27日运行 linuxcool.sh 脚本:

at -f linuxcool.sh 07/27/2019

与该功能相关的Linux命令:

最后更新于