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命令:
最后更新于