linux: at

使用crontab实现定时执行任务,假如我们只是想要让特定任务运行一次,那么,这时候就要用到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] 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中的时间表示方法
  ———————————————————————–
  时 间 例子 说明
  ———————————————————————–
  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 days
at> /bin/date 
at> <EOT>
job 1 at 2016-08-30 17:00
[root@localhost ~]# atq
1    2016-08-30 17:00 a root
[root@localhost ~]# at 2:05 tomorrow
at> echo the end of world !
at> <EOT>
job 2 at 2016-08-28 02:05
[root@localhost ~]# atq
2    2016-08-28 02:05 a root
1    2016-08-30 17:00 a root
[root@localhost ~]# atrm 2
[root@localhost ~]# atq
1    2016-08-30 17:00 a root
    原文作者:随风化作雨
    原文地址: https://www.jianshu.com/p/1e8919aeec52
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞