Chinaunix首页 | 论坛 | 博客
  • 博客访问: 491390
  • 博文数量: 71
  • 博客积分: 1332
  • 博客等级: 少尉
  • 技术积分: 772
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-10 16:25
个人简介

文章分类

全部博文(71)

文章存档

2013年(19)

2012年(9)

2011年(43)

分类: LINUX

2011-03-13 23:46:44

at 学习汇总

1、概要

      at命令允许用户向cron守护进程提交作业,使其在稍后的时间运行。

      一旦一个作业被提交,at命令将会保留所有当前的环境变量,包括路径,不像crontab只提供缺省的环境。输出结果都以电子邮件的形式发送给用户,除非进行了重定向。和crontab类似,root用户可以通过/etc/目录下的at.allow和at.deny文件来控制哪些用户可以使用at命令,哪些用户不行。

 

2、at命令的基本形式为

at [-f script] [-m -l -r] [time] [date]

其中:

2.1、  -f script 是所要提交的脚本或命令。

2.2、 

      -l 列出当前所有等待运行的作业。a t q命令具有相同的作用。

      -r 清除作业。为了清除某个作业,还要提供相应的作业标识(ID);有些UNIX变体只接受atrm作为清除命令。

      -m 作业完成后给用户发邮件。


2.3、 time

      at命令的时间格式非常灵活:可以是H、HH.HHMM、HH:MM或H:M,其中H和M分别是小时和分钟;还可以使用a.m .或p.m .。

2.4、date

     日期格式可以是月份数或日期数,而且a t命令还能够识别诸如today、tomorrow这样的词。

3、提交作业

      使用at命令提交作业有几种不同的形式,可以通过命令行方式,也可以使用at命令提示符。一般来说在提交若干行的系统命令时,可以使用at命令提示方式,而在提交shell脚本时 ,可以使用命令行方式。

      如果你想提交若干行的命令,可以在at命令后面跟上日期/时间并回车。然后就进入了at命令提示符,这时只需逐条输入相应的命令,

然后按‘’退出。

下面给出一个例子:    

  1. # at 21:30
  2. at> find / -name "passwd" –print
  3. at>EOF

其中就是,在21:10系统将执行一个简单的find命令。

你应当已经注意到,我所提交的作业被分配了一个唯一标识job 1

4、清除作业

 命令使用方式:

  1. # atrm [job number]# at -r [job number]

  1. # at -l
  2. 2 1999-05-05 23:00 a
  3. 3 1999-06-05 23:00 a
  4. # at -r 3 或 # atrm 3
  5. # at -l
  6. 2 1999-05-05 23:00 a

5、列出所提交的作业

  1. # at -l

还可以使用atq命令来完成同样的功能,它是at命令的一个链接。当提交一个作业后,它就被拷贝到/var/spool/at目录中,准备在要求的时间运行。

举例:

  1. # at 3.00pm tomorrow -f /apps/bin/a.sh

a.sh将在明天下午3:00运行也可以

  1. # echo 'find /etc/ -name "passwd" -print' | at now+1 minute

在一分钟之后执行find。


网络上《LINUX与UNIX+SHELL编程指南》和《LINUX与UNIX+SHELL编程指南》读书笔记 确实不错,不懂的地方可以从中很快获得帮助。向大家推荐一下。

文章可能是多方学习的汇总,可能多方引用了知识点,仅仅用来学习,以备复习。如遇版权问题,请及时通知,我将马上处理。

阅读(1007) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~