2007-07-05

例行性命令at

关键字: Linux 学习
仅执行一次:at

          如果某个工作要执行一次,使用at指令。这个指令其实就是atd这个服务,所以一定要启动这个服务。
  1. chkconfig --add atd
  2. chkconfig --list
上面的指令可以查看atd在run-level的正常情况下,是否在开机时被启动。

            基本上,atd是默认开启的,所以不需要上 面的工作。输入at这个动作会将工作流程写入/var/spool/at目录下,然后等待系统执行它。此外,at指令虽然默认是所有人都能执行,但是可以 通过root限制用户使用。限制的方法是使用 /etc/at.allow(deny)这两个文件进行限制。
         
           限制用户原理:当用户执行at时,系统会
  1. 先寻找/etc/at.allow文件,存在于这个文件中的用户才能使用at,不在这个文件中的用户则不能使用at(即使没有写在at.deny中);
  2. 如果没有/etc/at.allow就寻找/etc/at.deny文件中,存在于at.deny的用户不能使用at,而不在at.deny文件中的用户就可以使用at;
  3. 如果两个文件都不在,则只有root可以使用at命令。
      
语法:
at   [-m]   TIME   (输入工作指令)

atq                     (查看当前工作流程)

atrm   [jobnumber]   (删除流程)
参数说明:
-m:执行at规范的的工作流程时,将屏幕的输出结果mail给输入指令的用户
TIME:时间格式,有如下几个:
HH:MM YYYY-MM-DD            ex> 04:00 2002-05-30 (5月30号4点执行)
HH[pm;am] + number [hours;days;weeks]  
ex> 4pm+3 days (3天后的下午4点)
HH:MM            ex   > 12:00(今天12点执行)
HH[pm;am]   [month]   [day]

jobnumber:这即是每个at工作流程都有的编排顺序

范例:
at   5pm      // 在今天的5pm执行,如果今天已经过了5点则明天执行
…………
at>   mail   -s   test   test   <   /home/test/.bashrc   // 这就是我的工作
at>   <EOT>   // 这里按下ctrl+d就可以退出了
job 8 at 2002-05-30 17:00   //  告诉你这个工作的编排号码为8号,执行日期如后面显示

atq   //  查看您但前有多少工作
…………

atrm 5    // 删除第5号工作
 
评论
发表评论

您还没有登录,请登录后发表评论

yanshiyi
搜索本博客
最近加入圈子
存档
最新评论