之前说了使用实现定时执行任务,假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了。
一、at服务cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
service atd start //启动服务 service atd stop //关闭服务 service atd restart //重启服务 service atd reload //重新载入配置 service atd status //查看服务状态二、at在配置文件:
at类似打印进程,会把任务放到/var/spool/at目录中,到指定时间运行它 。at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序。
三、参数详解
at [-V] [-q x] [-f file] [-mldbv] timeat -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中的时间表示方法 ----------------------------------------------------------------------- 时 间 例子 说明 ----------------------------------------------------------------------- Minute at now + 5 minutes 任务在5分钟后运行 Hour at now + 1 hour 任务在1小时后运行 Days at now + 3 days 任务在3天后运行 Weeks at now + 2 weeks 任务在两周后运行 Fixed at midnight 任务在午夜运行 Fixed at 10:30pm 任务在晚上10点30分Fixed at 23:59 12/31/2018 任务在2018年12月31号23点59分
[root@localhost ~]# at 5pm +3 daysat> /bin/date at>job 1 at 2016-08-30 17:00[root@localhost ~]# atq1 2016-08-30 17:00 a root[root@localhost ~]# at 2:05 tomorrowat> echo the end of world !at> job 2 at 2016-08-28 02:05[root@localhost ~]# atq2 2016-08-28 02:05 a root1 2016-08-30 17:00 a root[root@localhost ~]# atrm 2[root@localhost ~]# atq1 2016-08-30 17:00 a root