linux 工作调度

来源:互联网 发布:如何成为程序员大神 编辑:程序博客网 时间:2024/04/28 17:19

linux工作调度种类

  • 例行性的,隔一定周期进行的事项
  • 突发性的

实现这两种功能的命令分别是crontabat

  • at:执行at时,必须要有atd这个服务的支持。at命令使用示例
    [root@hostname ~]# at now + 5 minutes
    at> echo "hello" > /dev/tty1
    at> <EOF>
    job 4 at xxxx-xx-xx xx:xx

    其中先指定指令执行时刻,可以选择now + [0-9][0-9]* [minutes|hours|days|weeks|months|years], 或是精确指定 xx:xx xxxx-xx-xx。
    执行at会就如所谓的at shell环境,要注意path变量和当前工作目录等。要注意的是,at的执行与终端机环境互关,所有standerd output与standerd error output都会被送至执行者的邮箱中。
    正是由于其独立的shell,用户可脱机让atd程序来接管。
    atq用于查询at工作调度的数量,atrm用于删除工作。
  • crontab:
  • [root@hostname ~]# crontab -e
    此时进入vi编辑
    0 12 * * * echo sb
    m h d m w cmd

    特殊字符:

    • *:任意时刻
    • , :多个时刻
    • “-” :范围
    • /[0-9][0-9]*:间隔数字个单位
  • 系统的配置文件 /etc/crontab
    linux下面的crontab自动每分钟读取/etc/crontab与/var/spool/cron内的内容。
    在/etc/crontab中,run-parts命令将后接目录中所有文件找出执行。

    如果停机了怎么办?例行任务有可能在停机期间没有执行。这里可以用anacron命令。
    anacron根据现在的时间与时间记录文件上记载的上次执行anacron的时间,若是时间差大于指定周期,则找出了未执行的crontab任务。
    anacron这个程序已经进入了crontab的调度。命名为0anacron,使其于第一位执行,以防止误判时间参数。

0 0
原创粉丝点击