开源是一种精神,分享是一种美德!

at

相关命令:atq,atrm,batch

at  在指定的时间执行命令。

-V    在标准错误上输出版本号。
-q queue    使用指定的队列。一个队列用一个字母标定,有效的的队列标定的 范围是从a到z和从A到Z。at 的缺省队列是 a,batch 的缺省队列是 b。队列的字母顺序越高,则队列运行时越谦让(运行级别越低)。 指定的队列 "="保留给当前运行的作业所在的队列。 如果一个作业被提交到一个以大写字母标定的队列,则与提交到 batch 同样对待。如果给 atq 指定一个队列,则只显示在此指定 队列中的作业。
-m    当作业完成时即使没有输出也给用户发邮件。
-f file    从文件而不是标准输入中读取作业信息。
-l    等同于atq。
-d    等同于atrm。
-v    对于 atq, 显示完整的在队列中未被删除的作业,对于其他 命令,显示作业将要执行的时间。 显示的时间的格式类似于"1997-02-20 14:50",但如果设置了 POSIXLY_CORRECT 环境变量之后,格式类似于"Thu Feb 20 14:50:00 1996"。
-c    连接命令行中列出的作业并输出到标准输出。

10分后,输出1111

[zhangy@BlackGhost ~]$ at now + 10 minutes
at> echo 1111
at> <eot>
job 3 at Fri Apr 26 12:56:00 2013

at的定时列表

[zhangy@BlackGhost ~]$ at -l
3       Fri Apr 26 12:56:00 2013 a root

查看单个at任务内容

[zhangy@BlackGhost ~]$ at -c 3
#!/bin/sh
# atrun uid=0 gid=0
# mail tnak 0
umask 22
.........省略........
echo 1111

删除at任务

[zhangy@BlackGhost ~]$ at -d 3
   

# at 5pm+3 days    #三天后的下午5点,执行 /bin/ls
at> /bin/ls
at> 
job 7 at 2016-01-08 17:00

# at 17:20 tomorrow    #明天17点钟,输出时间到指定文件内
at> date >/root/date.log         
at> 
job 8 at 2016-01-06 17:20


# atq      #查看任务
8       2016-01-06 17:20 a root
7       2016-01-08 17:00 a root

# atrm 7     #删除任务

# atq 
8       2016-01-06 17:20 a root

# 指定在今天下午5:30执行某命令。以下命令格式,结果都一样:

# at 5:30pm 

# at 17:30 

# at 17:30 today 

# at now + 5 hours 

# at now + 300 minutes 

# at 17:30 24.2.99 

# at 17:30 2/24/99 

# at 17:30 Feb 24 

# at -f /home/test/work 4pm + 3 days     #在三天后下午4点执行文档work中的作业

评论(1)

    • IronMenPHP
      执行at命令  ctrl+d
      [回复]

评论

名字:
验证码:
获取验证码
内容: