在Linux系统中有提供两种方式的例行性命令:
    一种是例行性的,就是每隔一定的周期要来办的事项,通过cron来实现;另一种是突发性的,就是这次做完以后就没有的那一种,是通过at命令来实现。
  at方式的例行性命令方式
  
1.启动atd
    在Linux系统上负责一次性任务分配的服务就是atd。现在很多新的Linux默认是不打开它的,所以我们需要手动启用它。
    [root@redflag ~] # /etc/init.d/atd start
    Starting atd:                           [ OK ]
    #设置开机启动
    [root@redflag ~] # chkconfig –level 35 atd on
  2.at的工作
    任务分配是要有写入工作的记录文件。可以使用at命令来帮助工作写入记录文件,工作记录文件默认放在/var/spool/at下面。
    而出于对系统安全性的考虑,at命令会在用户使用at时:
    a) 先找寻 /etc/at.allow文件,写在这个文件中的用户才能使用at,没有在这个文件中的用户则不能使用at(即使没有写在at.deny当中);
    b) 如果没有/etc/at.allow 就寻找/etc/at.deny 这个文件,若写在这个at.deny的用户则不能使用at,而没有在这个at.deny文件中的用户,就可以使用at ;
    c) 如果两个文件都不存在,那么只有root可以使用 at 这个指令。
    其实只要有at.deny文件存在就可以了。你可将你不希望使用at的用户的账号写入/etc/at.deny即可。一个账号写一行。  
  3.at的语法
    [root@redflag ~] # at [-m] TIME   (下达工作指令) 
    [root@redflag ~] # atq         (查看目前的工作排程) 
    [root@redflag ~] # atrm [jobnumber] (删除排程)
    参数说明: 
    -m:执行 at 所规范的工作排程时,将屏幕输出结果 mail 给下达指令的使用者 
    TIME  :时间的格式,有底下几个: 
    HH:MM YYYY-MM-DD             ex> 04:00 2002-05-30 (五月三十号四点执行) 
    HH[pm;am] + number [hours;days;weeks] ex> 4pm + 3 days (在过 3 天的下午 4 点) 
    HH:MM                      ex> 12:00 (今天的 12 点执行) 
    HH[pm;am] [Month] [Day]            ex> 1pm May 30 
    jobnumber:每一个 at 工作排程都有编排的顺序
    范例:

  范例一:再过5分钟后,将/root/.bashrc寄给guo
    [root@redflag ~] # at now + 5 minutes
    at> /bin/mail guo –s “testing at job” < /root/.bashrc     #建议使用绝对路径来执行命令,不容易出现问题。
    at> <EOT><==这里是按下 [Ctrl] + D 就可以离开了!
    job 8 at 2008-10-6 17:00  <==这里会告诉你这个工作的号码为 8 号,执行的日期为后面所示。
    范例二:由于机房预计2008/10/6停电,我想在2008/10/5 23:00关机
    [root@redflag ~] # at 23:00 2008/10/5
    at> /bin/sync
    at> /bin/sync
    at> /sbin/shutdown –h now
    at> <EOT>
    job 9 at 2008-10-5 23:00
    范例三:查询当前主机上有多少at工作任务分配
    [root@redflag ~] # atq   
    10     2008-10-5 23:00 a root
    范例四:将上述的第10个工作删除
    [root@redflag ~] # atrm 10 
    [root@redflag ~] # atq 
    # 没有任何信息,标识该工作被删除了。