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来指定完成命令的时间
5.1 2天后的下午5点,执行/bin/ls /home指令
at 5pm + 2 days 按回车键
然后写下那个时刻要执行命令 /bin/ls /home
最后按两次ctrl+d退出at指令
5.2 atq指令可以直接执行,查看系统中待执行的工作任务
5.3 明天17:00输出时间到指定文件内 /root/date100.log
at 17:00 tomorrow 按回车键
date >/root/date100.log
按两次ctrl+d退出at指令的输入
5.4 2分钟后
at now + 2 minutes
5.5 删除已经设置的任务,atrm 编号
可以用atq列出待执行的任务,列出后第一列就是job编号
在某指定时间执行命令。at [options] time [adte|+increment]
atq
atrm job-list
batch [options] [time]
at 和 batch 都是在某指定时间执行命令。它们都接受标准输入和文件输入。
atq 显示at队列中的作业列表。atrm 将取消挂起 at 队列中的作业。学习更多linux知识《Linux就该这么学》,什么都没有示例来得快,现在开始讲解示例。(主要是文字介绍好麻烦,好啰嗦,请见谅)
示例
示例1.
gopain@gopain:~$ at
Garbled time
gopain@gopain:~$ at 3.35pm
warning: commands will be executed using /bin/sh
at>date
at><EOT>
job 1 at Thu Apr 10 15:35:00 2014
我的电脑是ubuntu13.04 ,默认是没有安装at程序,所以需要: sudo apt-get install at.[看来at是一个实用程序然后就可以用了,定时执行呀,想想就很好由没有。
使用atq查看:
gopain@gopain:~$ atq
1 Thu Apr 10 15:35:00 2014 a
gopaingopain@gopain:~$
使用atrm可以删除作业:
atrm 1
即删除1号作业。
完整示例:
gopain@gopain:~$ at 1540
warning: commands will be executed using /bin/sh
at>mkdir at_test_d
at><EOT>
job 2 at Thu Apr 10 15:40:00 2020
gopain@gopain:~$ atq
2 Thu Apr 10 15:40:00 2020 a
gopaingopain@gopain:~$ atrm 2
gopain@gopain:~$ atq
gopain@gopain:~$
其中at 1540 表示下午15:40.
还有:
at [command] 1545 +1 week
表示在下周的今天执行[command]的命令
还有:
at 1545 Thursday
表示周四执行,如果本周周四已经过去,那么会在下周四执行。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)