专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>shell基础篇>

后台执行之at命令

百度收藏 QQ搜藏
使用at命令提交命令或脚本
   使用a t命令提交作业有几种不同的形式,可以通过命令行方式,也可以使用a t命令提示符。一般来说在提交若干行的系统命令时,使用a t命令提示符方式,在提交s h e l l脚本时,使用命令行方式。
   命令行方式:
   at [-f script] [-m -l -r] [time] [date]
   提示符方式:
   以在a t命令后面跟上日期/时间并回车。然后就进入了a t命令提示符,这时只需逐条输入相应的命令,然后按‘ < C T R L - D >’退出。

1、例一:提示符方式
   # su sam
   $ at 10:40
   warning: commands will be executed using (in order) a) $SHELL b) login shell c)    /bin/sh
   at> find /etc -name "passwd" -print
   at> <EOT>
   job 1 at 2004-11-02 10:40
   其中, <EOT>就是<CTRL-D>。在10:40系统将执行一个简单的find命令。提交的作业被分配了一个唯一标识job 1。该命令在完成以后会将全部结果以邮件的形式发送给我。
   下面这些日期/时间格式都是at命令可以接受的:
 at 5.00am May23
 at 11.20pm
 at now +2 hour
 at 9am tomorrow
 at 15:00 May24
 at now + 10 minutes
2、例二:命令行方式
如果希望向a t命令提交一个shell脚本,使用其命令行方式即可。在提交脚本时使用- f选项。
如:
  $ touch db_table.sh
  $ at 3:00pm tomorrow -f db_table.sh
  warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
  job 3 at 2108-11-02 15:00
  在上面的例子中,一个叫做db_table.sh的脚本将在2108-11-02 15:00运行。
3、还可以使用e c h o命令向a t命令提交作业:
   $ echo find /etc -name "passwd" -print | at now +1 minute
   warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
   job 4 at 2108-11-01 19:07
   列出所提交的作业
一个作业被提交后,可以使用at -l命令来列出所有的作业:
   $ at -l
    1       2108-11-02 10:40 a sam
    3       2108-11-02 15:00 a sam
    4       2108-11-01 19:07 a sam
    其中,第一行是作业标识,后面是作业运行的日期/时间。最后一列a代表a t。还可以使用a tq命令来完成同样的功能,它是a t命令的一个链接。
   直接>atq,相当于>at -l
   当提交一个作业后,它就被拷贝到/ v a r / s p o o l / a t目录中,准备在要求的时间运行。
   # pwd
    /var/spool/at
   # ls -l
清除一个作业
    清除作业的命令格式为:
    atrm [job no] 或at -r [job no]
    要清除某个作业,首先要执行at -l命令,以获取相应的作业标识,然后对该作业标识使用at -r 命令,清除该作业。
   $ at -l
     1       2004-11-02 10:40 a sam
     3       2004-11-02 15:00 a sam
     4       2004-11-01 19:07 a sam
   $at -r 3
   $at -l
     1       2004-11-02 10:40 a sam
     4       2004-11-01 19:07 a sam
   有些系统使用at-r [job no]命令清除作业。
上一篇:查找技巧之xargs的使用 下一篇:学会设置crontab文件

power by soyo123 2007-2008