linux命令at详解

linux at命令详解

##at命令介绍

linux 中执行任务计划有三种命令:at ,batch ,cron.其中,at,batch 是一次性执行,而crontab,则是周期性执行。

指令:at
定时任务,指定一个时间执行一个任务,只执行一次。
语法:# at [参数] [时间]
at> 执行的指令
退出at命令 ctrl+d

命令前提:
需要开启atd进程(在redhat中atd是默认随系统启动而启动)
测试中发现在centos6.5 mini版中没有自带at服务,因此需要自己通过下载

##at命令使用

# yum install at -y
# /etc/init.d/atd status
# ps -ef|grep atd
# chkconfig --list|grep atd

举个例子
# atq   //查询当前的等待任务,被执行之后就不会显示
# at 10:11   //定时10点11分
at> echo "123" > /root/jiankong_log/haha.txt   //输入,回车换行
at> <EOT>   //CTRL+D保存退出
job 5 at 2016-04-29 10:11   
# atq
5       2016-04-29 10:11 a root
再举个例子,有个需求需要注释掉计划任务
# at 23:59
at> sed -i '/Regular3/s/^/#/'  /var/spool/cron/root     
at> sed -i '/Regular4/s/^/#/'  /var/spool/cron/root      
at> <EOT>  
# atrm 5  //删除系统中由at建立的正在等待被执行的任务
这样写脚本不是很方便,我们可以指定一下脚本
# at -f /root/sh/nginx_cut_log.sh 10:20
job 7 at 2016-04-29 10:20
# atq
7       2016-04-29 10:20 a root
# at -f /root/sh/nginx_cut_log.sh 10:30
job 8 at 2016-04-29 10:30
# atq
8       2016-04-29 10:30 a root
7       2016-04-29 10:20 a root
# date
Fri Apr 29 10:19:23 CST 2016
到点了查看一下脚本是否执行    

at -c 8 //打印序号为8的内容

##常见参数:

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

##定义时间

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

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

3、HH:MM[am|pm] [Month] [Date]
说明:规定在某年某月某日的某时刻进行该项任务
ex> 04pm March 17

4、HH:MM[am|pm] + number [minutes|hours|days|weeks]
说明:规定在某个时间点再加多少时间后才进行该项任务
ex> now + 5 minutes
ex> 04pm + 3 days

好了,就这样,其他我也没用过

转载于:https://my.oschina.net/longquan/blog/738152

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值