linux解析AT命令的简单介绍

linux中at的执行结果放在哪里之前说linux解析AT命令了使用crontab实现定时执行任务linux解析AT命令,假如linux解析AT命令我们只是想要让特定任务运行一次,那么 , 这时候就要用到at监控程序了 。
一、at服务
cron是一个linux下 linux解析AT命令的定时执行工具,可以在无需人工干预的情况下运行作业 。
service atd start//启动服务
service atdstop//关闭服务
service atd restart//重启服务
service atd reload//重新载入配置
service atd status//查看服务状态
二、at在配置文件linux解析AT命令:
at类似打印进程,会把任务放到/var/spool/at目录中,到指定时间运行它。at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序 。
三、参数详解
at [-V] [-q x] [-f file] [-mldbv] time
at -c job ...
atq [-V] [-q x]
atrm [-V] job ...
-V : 印出版本编号
-q : 使用指定的伫列(Queue)来储存,at 的资料是存放在所谓的 queue 中 , 使用者可以同时使用多个 queue , 而 queue 的编号为 a, b, c... z 以及 A, B, ... Z 共 52 个
-m : 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者
-f file : 读入预先写好的命令档 。使用者不一定要使用交谈模式来输入 , 可以先将所有的指定先写入档案后再一次读入 网络应用
-l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)
-d : 删除指定 (使用者也可以直接使用 atrm 而不用 at -d)
-v : 列出所有已经完成但尚未删除的指定
at命令执行流程
# at 2:05 tomorrow
at/home/kyle/do_job
at Ctrl+D
AT Time中的时间表示方法
-----------------------------------------------------------------------
时 间 例子 说明
-----------------------------------------------------------------------
Minuteat now + 5 minutes任务在5分钟后运行
Hourat now + 1 hour任务在1小时后运行
Daysat now + 3 days任务在3天后运行
Weeksat now + 2 weeks任务在两周后运行
Fixedat midnight任务在午夜运行
Fixedat 10:30pm任务在晚上10点30分
Fixedat 23:59 12/31/2018 任务在2018年12月31号23点59分
19. Linux的at定时任务调度与crond不同的是,at任务调度是一次性的,而crond是重复性的
1.1 at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行
1.2 默认情况下,atd守护进程每60s检查作业队列,有作业时 , 会检查作业运行时间,如果时间与当前时间匹配,则运行此作业
1.3 at命令是一次性定时计划任务,执行完一个任务后就不再执行这个任务了
1.4 在使用at命令的时候 , 一定要保证atd进程的启动 , 可以使用相关指令查看
ps -ef | grep atd 可以检查atd是否在运行
at [选项] [时间]
按两次 ctrl+d 结束at命令的输入
4.1 当天的hh:mm(小时:分钟),假如这个时间已经过去,那么就第二天的这个时间执行 。例如04:00
4.2 模糊的词语,例如midnight、noon、teatime(下午茶时间,16:00左右)
4.3 采用12小时计时制,例如8am
4.4 指定执行命令的具体日期,格式为month dat(月 日)或者mm/dd/yy或者dd.mm.yy,指定的日期必须跟着写在在指定时间的后面,例如:04:00 2021-3-1就是2021年3月1日凌晨4点整执行
4.5 相对计时法,指定格式为now + count time-units,now就是当前时间,time-units是时间单位,可以是minutes、hours、days、weeks 。count是时间的数量,例如:now + 5 minutes
4.6 直接用today、tomorrow来指定完成命令的时间

推荐阅读