设为首页 收藏本站
查看: 1019|回复: 0

[经验分享] Linux命令之at

[复制链接]

尚未签到

发表于 2018-5-21 11:32:12 | 显示全部楼层 |阅读模式
Linux命令之at

  功能说明
  在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(ps -ef | grep atd查看, 开启用/etc/init.d/atd start or restart; 开机即启动则需要运行 chkconfig --level 2345 atd on)。在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务。 通过'添加任务计划'的一步步引导,则可建立一个定时执行的任务。
  在 linux系统中你可能已经发现了为什么系统常常会自动的进行一些任务?这些任务到底是谁在支配他们工作的?在linux系统如果你想要让自己设计的备份 程序可以自动在某个时间点开始在系统底下运行,而不需要手动来启动它,又该如何处置呢? 这些例行的工作可能又分为一次性定时工作与循环定时工作,在系统内又是哪些服务在负责?
  

  语法
  at[参数][时间]
  

  参数
  -m 当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出
  -I atq的别名
  -d atrm的别名
  -v 显示任务将被执行的时间
  -c 打印任务的内容到标准输出
  -V 显示版本信息
  -q<列队> 使用指定的列队
  -f<文件> 从指定文件读入任务而不是从标准输入读入
  -t<时间参数> 以时间参数的形式提交要运行的任务
  

  说明:
  at允许使用一套相当复杂的指定时间的方法。它能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。当然也能够 使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的 词语来指定时间。用户还能够采用12小时计 时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。 也能够指定命令执行的具体日期,指定格式为month day(月 日)或 mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。指定的日期必须跟在指定时间的后面。 上面介绍的都是绝对计时法,其实还能够使用相对 计时法,这对于安排不久就要执行的命令是很有好处的。指定格式为:now + count time-units ,now就是当前时间,time- units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,究竟是几 天,还是几小时,等等。 更有一种计时方法就是直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。
  

  TIME:时间格式,这里可以定义出什么时候要进行 at 这项任务的时间,格式有:
  

  HH:MM
  ex> 04:00
  在今日的 HH:MM 时刻进行,若该时刻已超过,则明天的 HH:MM 进行此任务。
  

  HH:MM YYYY-MM-DD
  ex> 04:00 2009-03-17
  强制规定在某年某月的某一天的特殊时刻进行该项任务
  

  HH:MM[am|pm] [Month] [Date]
  ex> 04pm March 17
  也是一样,强制在某年某月某日的某时刻进行该项任务
  

  HH:MM[am|pm] + number [minutes|hours|days|weeks]
  ex> now + 5 minutes
  ex> 04pm + 3 days
  就是说,在某个时间点再加几个时间后才进行该项任务。
  

  实例1
  三天后的下午 5 点锺执行 /bin/ls
  [root@localhost ~]# at 5pm+3 days
  at> /bin/ls
  at> <EOT>
  job 7 at 2013-01-08 17:00
  

  实例2
  明天17点钟,输出时间到指定文件内
  [root@localhost ~]# at 17:20 tomorrow
  at> date >/root/2013.log
  at> <EOT>
  job 8 at 2013-01-06 17:20
  

  实例3
  计划任务设定后,在没有执行之前我们可以用atq命令来查看系统没有执行工作任务
  [root@localhost ~]# atq
  8 2013-01-06 17:20 a root
  7 2013-01-08 17:00 a root
  

  实例4
  删除已经设置的任务小
  [root@localhost ~]# atq
  8 2013-01-06 17:20 a root
  7 2013-01-08 17:00 a root
  [root@localhost ~]# atrm 7
  [root@localhost ~]# atq
  8 2013-01-06 17:20 a root
  

  实例5
  显示已经设置的任务内容
  [root@localhost ~]# at -c 8
  #!/bin/sh
  # atrun uid=0 gid=0
  # mail root 0
  umask 22此处省略n个字符
  date >/root/2013.log
  

  参考:
  http://www.cnblogs.com/peida/archive/2013/01/05/2846152.html
  光荣之路微信公众号:gloryroadtrain

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-478611-1-1.html 上篇帖子: linux的crontab命令 下篇帖子: linux基础 1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表