at 定时任务,指定一个时间执行一个任务,只能执行一次。创建 at 任务方式有两种, 从文件输入和从控制台输入。 一次性计划任务,只需要写成“at 时间”的形式就可以。如果想要查看已设置好但还未执行的一次性计划任务,可以使用“at -l”命令;要想将其删除,可以用“atrm 任务序号”。在使用 at 命令来设置一次性计划任务时,默认采用的是交互式方法。
实例:使用下述命令将系统设置为在今晚 23:30 分自动重启你服务。
[root@kylin-vm ~]# at 23:30 at > systemctl restart httpd at > 此处请同时按下 Ctrl + D 组合键来结束编写计划任务job 3 at Mon Apr 27 23:30:00 2021 [root@kylin-vm ~]# at -l Job 3 at Mon Apr 27 23:30:00 2021 可以把前面学习的管道符放到两条命令之间,让 at 命令接收前面 echo 命令的输出信息,以达到通过非交互式的方式创建计划一次性任务的目的。 [root@kylin-vm ~]# echo "systemctl restart httpd" | at 23:30 job 4 at Mon Apr 27 23:30:00 2021 [root@kylin-vm ~]# at -l Job 3 at Mon Apr 27 23:30:00 2021 Job 4 at Mon Apr 27 23:30:00 2021 如果我们不小心设置了两个一次性计划任务,可以使用下面的命令轻松删除其中一个: [root@kylin-vm ~]# atrm 3 [root@kylin-vm ~]# at -l Job 4 at Mon Apr 27 23:30:00 2021 at 允许使用一套相当复杂的指定时间的方法(了解)。 1) 能够接受在当天的 hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。 例如:04:00 2) 能够使用 midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午 4点)等比较模糊的词语来指定时间。 3) 能够采用 12 小时计时制,即在时间后面加上 AM(上午)或 PM(下午)来说明是上午还是下午。 例如:12pm 4) 能够指定命令执行的具体日期,指定格式为 month day(月 日)或 mm/dd/yy(月/日/年)或 dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。 例如:04:00 2009-03-1 5)能够使用相对计时法。指定格式为:now + count time-units ,now 就是当前时间,time-units 是时间单位,这里能够是 minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count 是时间的数量,几天,几小时。 例如:now + 5 minutes 04pm + 3 days
6)能够直接使用 today(今天)、tomorrow(明天)来指定完成命令的时间。
|