首页 > 代码库 > 任务计划

任务计划

1、在未来的某个时间点执行一次任务

  at

  #at 时间

  #at> command

  #at> ctrl+d

  时间:

  绝对时间  HH:MM, DD.MM.YY 

  相对时间  now+3m

         单位 minutes hours days weeks

  模糊时间  noon midnight teatime

  命令的执行结果,以邮件的形式发送给安排任务的用户。

  at -l 显示作业

  at -d job 删除作业

  用户白名单 /etc/at.allow

  用户黑名单 /etc/at.deny

  batch 

  在系统空闲时间执行认为

2、周期性的执行任务

  cron

  anacron:cron的补充程序,让cron该执行而没有执行的程序,在系统恢复后执行一次。

   

  cron

    系统cron 

      /etc/crontab 

      分钟 小时 天 月 周 用户 任务

    脚本中定义

    SHELL=/bin/bash

    PATH= 

    MAILTO=root

    HOME=/



    用户cron

      /var/spool/cron/USER_NAME

      分钟 小时 天 月 周 任务


    用户任务的管理

    crontab 

        -l 列出当前用户的cron

        -e 编辑

        -r 移除所有任务

        -u username  root管理其他用户的cron任务 -e



    时间的有效范围

    分钟 0-59

    小时 0-23

    天  0-31

    月  1-12

    周  0-7(0和7都表示周日)

    时间的通配

    * 对应的所有有效取值

      3 * * * *  每小时任务

      3 12 * * *  每天任务

      3 12 16 * *  每月任务

    , 离散时间点取值

      10,40 * * *2,5  每周二、五的每小时10和40执行

    -  连续时间点

      10 2 * * 2-5   周二到周五的2点10分

    /  对应取值范围内每多久1次

      */3 * * * *   没3分钟执行一次

    cron的环境变量:cron执行的命令都去PATH变量指定的路径去找。

      用户没有登录,cron的命令搜索目录 /bin /sbin /usr/bin  /usr/sbin

      可以在cron执行的脚本中定义PATH变量。


任务计划