计划任务管理

    Linux系统计划任务有两种:A、一次性任务;B、定时循环任务。

    一次性任务:at命令。at的安装包名字就是at,可以使用命令"yum install at"进行安装.安装完成后,启用atd服务就可以运行at命令了.运行格式为:at [option] TIME

    OPTION:

      -V 显示版本信息:
      -l:
列出指定队列中等待运行的作业;相当于atq
      -d:
删除指定的作业;相当于atrm
      -c:
查看具体作业任务
      -f /path/from/somefile:从指定的文件中读取任务(要执行的命令)
      -m:当任务被完成之后,将给用户发送邮件,即使没有标准输出
       注意:作业执行命令的结果中的标准输出和错误以邮件通知给相关用户

    TIME:定义出什么时候进行 at 这项任务的时间
      HH:MM [YYYY-mm-dd]
      noon, midnight, teatime
4pmtomorrow
      now+#{minutes,hours,days, OR weeks}

      HH:MM 02:00
    在今日的 HH:MM 进行,若该时刻已过,则明天此时执行任务
       HH:MM YYYY-MM-DD 04:00 2016-09-20
    规定在某年某月的某一天的特殊时刻进行该项任务
      HH:MM[am|pm] [Month] [Date]
       04pm March 17
       17:20 tomorrow
    HH:MM[am|pm] + number [minutes|hours|days|weeks]
    在某个时间点再加几个时间后才进行该项任务
       now + 5 minutes
       04pm + 3 days

    注意:选项-t也可以指定时间:at -t TIME。其格式为[[CC]YY]MMDDhhmm。

    at队列存放在/var/spool/at目录中.创建一个计划任务,2分钟后发一个广播:

blob.png

    at命令可以通过修改配置文件来指定用户有权限或者没有权限执行。配置文件为/etc/at.deny和/etc/at.allow。其中,at.allow中的用户被允许执行at命令,at.deny文件中的用户没有权限执行at命令。两个文件如果都不存在,则只有管理员才能执行at命令。如果两个文件都有,at.allow的优先级高。 

    

     定时循环任务:crontab命令,运行格式为:crontab [-u user] [-l | -r | -e]

      -l:列出当前的计划任务列表

      -r:删除当前计划任务

      -e:创建或者编辑计划任务

    使用命令"crontab -e"编辑计划任务,编辑的格式为:

blob.png

    总共7个字段:分、小时、天、月、星期、用户、命令。例如要在每个月的第一天执行一个计划任务,可以使用"crontab -e"编辑如下字段:"* * 1 * *  reboot"。然后保存。其中,"*"代表任何时刻(天,小时,分钟,月),也可以指定具体的时间,连续的时间用"-"连接(1-10),离散的数用","隔开(1,4,10),也可以使用"/#"表示每#(分钟,小时,月,天)执行一次。时间也可以使用特殊的形式:

    @reboot Run once after reboot.
    @yearly 0 0 1 1 *
    @annually 0 0 1 1 *
    @monthly 0 0 1 * *
    @weekly 0 0 * * 0
    @daily 0 0 * * *
    @hourly 0 * * * *

    编辑完成后就可以使用命令"crontab -l"命令查看:

blob.png

    该命令是让每月的第一天重启系统。当用户使用 crontab 创建工作后,该项工作会被到/var/spool/cron/里面,而且是以账号最为判别的,crontab执行的每一项工作都会被记录到 

/var/log/cron 这个日志文件中。

blob.png

     /etc/crontab这个文件是系统默认会定时执行的系统任务,crond服务会每隔一分钟读取/etc/crontab与/varspool/cron里面的内容。文件内容如下:

blob.png

          SHELL=/bin/bash:使用的shell,

         PATH=……:定义路径到变量。

         MAILTO=root:若有额外STDOUT,以 email 将数据发送给谁,可以改成你的email地址,以便接收任务的执行信息。

其中比crontab -e 命令多了一项,便是用户名称了,因为用户执行命令会以用户身份生成配置文件,而这个文件中若是填入任务的话,系统就需要指定用户的身份了。

并且其中还支持以目录来规划任务,可以将可执行文件放在一个目录中,然后再命令处填写 run-parts(有空格)然后接上目录,即可借助run-parts这个脚本的辅助,来规划目录执行了。

其中所有的输出会以email形式,发送预设的账号,所以不必要的输出可以重定向给/dev/null 避免垃圾邮件。

其中日、月、周不可同时存在,若是同时存在,系统默认执行第一个读取到的时间做循环。

  crontab的任务都是定时循环执行,若是那个时刻处于关机状态,那么任务就无法执行了,为了弥补这个问题,就有了anacron。其能够将为能运行的crontab工作在开机之后执行。

aracron也是基于crontab来运行的,因此aracron运行的时间通常有两个,一个是系统开机期间运行,一个是写入crontab 的调度之中,这样才能够在特定的时间分析系统中未运行的crontab 工作。

blob.png

           RANDOM_DELAY=45表示启动后延时时间;

           START_HOURS_RANGE=3-22表示执行的时间段

           下面的字段分别表示执行的次数、执行的延时、作业标识符、命令

           和at命令相似,它也有两个配置文件cron.deny和cron.allow,作用一样。

原创文章,作者:王更生,如若转载,请注明出处:http://www.178linux.com/61038

(0)
王更生王更生
上一篇 2016-11-27
下一篇 2016-11-27

相关推荐

  • 用“逐步排除”的方法定位Java服务线上“系统性”故障

    一、摘要 由 于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超 时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java 服务线上“系统性”故障。 二、导言 Java 语言是广…

    2015-02-28
  • 计划任务

              前要:Linux的计划任务主要分为三块。单一的执行一次计划任务,系统自动的选择空闲时间去执行特定的任务, 周期性的执行相关任务,下面就此三块做简要的描述。 一:单一的计划任务at      &nbsp…

    2017-07-01
  • 如何使用openssl工具创建私有CA

    一、CA及证书 非对称加密是为了保证互联网中通讯信息安全使用的一种算法,密钥是成对出现(公钥和私钥),它的特点是发送方A使用接收方B的公钥加密数据,所有只有B拥有与之配对的私钥解密该数据,反之亦然。那么,A和B之间怎么交换得到对方的真实安全的公钥呢?此时就需要一个权威的机构来验证公钥的合法性,这个机构称之为CA(Certification Authority…

    2017-07-16
  • 网络服务基础理论

    最近学习了有关网络管理的有关知识,所以给也在学习这些知识的童鞋分享一下我的一些经验。 听了这几天课,总结了几个前提。 有关网络的通信均是基于数据传输的,且数据均是二进制格式的流式数据。 在网络中需要把大包分成小包, 每传一个包都需要有三个地址,由内向外为端口号、IP地址、MAC地址。端口号确定应用,IP确定网段,MAC确定广播域中的某个网卡。 OSI模型 &…

    Linux干货 2017-09-01
  • 虚拟化网络之OpenvSwitch(一)

    一、OpenvSwitch介绍  OpenvSwitch简称OVS,正如其官网(http://openvswitch.org/)所述,OVS是一个高质量、多层的虚拟交换软件,即虚拟交换机。它的目的是通过编程扩展支持大规模网络自动化,同时还支持标准的管理接口和协议(例如:NetFlow,sFlow,IPFIX,RSPAN, CLI, LAC…

    Linux干货 2016-03-27
  • CMDB内功心法,助我登上运维之巅

    很多70、80后甚至90后都在金庸、古龙、梁羽生先生等武林大家熏陶下成长的,这么多年过去了,我的武侠梦依然不曾散去。曾几何,梦想有一天练就一身绝学,搂着小师妹花前月下,仗剑走天涯,快意人生。可每次的酣睡美梦都被班主任大书板子给抽醒,在他们的鞭策之下,浑浑噩噩的成了一位IT骚年。我们都知道武功分为内功和招式,内功是气,而招式是形,以气御形。内功深厚,会让你的招…

    系统运维 2017-01-09