一. 例行命令之at

1.1 at 仅执行一次就从Linux任务中取消
 1.2 at 指令可以将工作命令写入工作记录文件,工作记录文件默认存放在/var/spool/at目录内
 1.3 at 工作启动后,权限查找顺序:
   · 首先查找/etc/at.allow这个文件,写在该文件内的用户才能使用at,没有在这个文件中则不能使用at
   · 若没有/etc/at.allow就寻找/etc/at.deny
   · 如果两个文件中都不存在的用户,那么就只有root用户才能使用
 1.4 at [-m] TIME
    参数:
     -m  当at工作完成后,以emai的方式通知工作已完成
     -TIME 时间格式,可以定义出什么时候要进行at工作,时间格式有:
     (1) HH:MM   example: 08:30
      则at工作会在今天的HH:MM进行,若该时刻以超时,则在明天的此刻会进行
    (2) HH:MM YYYY-MM-DD example: 08:21 2016-4-11  
       强调规定在某年某月某天的特殊时刻进行该工作
    (3) HH:MM[am|pm][month][Date] example: 09am October 7
       强调在某年某月某日的某时刻进行
    (4) HH:MM[am|pm]+number[minutes|hours|days|weeks] example: now + 5minutes; example: 09am+3days
       也即在某个时间点再加上若干时间后才执行
     注:(*) 对于at指令,最好使用绝对路径下达
          (*) at执行时,会传送相关email给自己,但要使用-m参数
         (*)  at进行工作任务分配后,系统会将at工作独立出bash环境中而直接交给atd程序来管理,因此在下达了at工作后就可以离线了,剩下就全交给Linux管理
         (*) 若下达了at之后,发现指令输入错误,则解决办法如下:
             使用atq查看刚才下达的at是哪条
             然后使用atrm jobnumber删除出错的at指令

二. 例行性命令cron

2.1  
    ·为例系统的安全,也使用/etc/cron.allow和/etc/cron.deny对系统进行保护
    · /etc/cron.allow: 将可以使用crontab的帐号写入其中
    · /etc/cron.deny: 将不可以使用crontab的帐号写入其中
  2.2 crontab [-u username] [-l|-e|-r]
    参数:
     · -u  只有root才能进行这个任务,帮其它用户建立/移除crontab
     · -e  编辑crontab的工作内容
     · -l  查阅crontab的工作内容
     · -r  移除crontab的工作内容
    注:· 使用crontab建立的工作任务,会被记录到/var/spool/cron中以帐号命名的文件内
        · cron执行的每项工作都会被记录到/var/log/cron这个登录文件中
  2.2.2 时间格式:
   * *  *  *  *  root  /etc/cron.hourly/back.sh  
   分 时 日 月 周  账户   命令部分
 
  2.2.3 定时的时间规则是:
                       时间          含义                                                    范围
   第1个数字:  分钟   每小时中的第几分钟执行                0-59
   第2个数字:  小时   每天的第几个小时执行                   0-23
   第3个数字:  日期   每月的第几天执行                          0-31
   第4个数字:  月份   每年的第几个月执行                       0-12
   第5个数字:  星期   每周的第几天执行                           0-6
    
   2.2.1特殊字符
      (1)其中*代表任意的意思,即不论何时何日...
      (2)其中 , 代表时段的意思,如:若下达的工作是3:00与6:00,则使用0 3,6 * * * command,第二栏中的3,6代表3与6都行
      (3)其中 - 代表一段时间范围,如:8点到12点的每小时的20分钟都进行一项工作:
           20 8-12 * * * command,,第二栏中的8-12代表8,9,10,11,12
      (4)n代表数字,即每隔n单位的意思,如表示每5分钟进行一次:
          */5 * * * * command ,,用*与/5来搭配,也可写成0-59/5来表示
   2.2.2例子
    · 45 10 * * 1-5 表示从周一到周五的上午10:45执行命令
     注:不要把*放在第一个字段,除非你想让该命令每隔多长时间执行
    · 0,30 * 13 * 5表示星期五每半小时及每月13号的每半小时
   2.2.3 系统的设置: /etc/crontab
     cron服务的最低检测限制是“分钟”,所以每分钟就会自动去读取/etc/spool/crontab与/var/spool/con里面的数据,因此只要编辑完/etc/crontab文件且将其存储后,cron的设定就会自动执行
   2.2.4 示例:
    ·  * 8 * * * root /bin/bash /root/userdel.sh   --表示每到8时都会执行该shell脚本
    ·  */5 * * * * root /root/user/useradd.sh > /dev/null 2>&1

三. Linux 中新建一个cron任务

3.1 使用 sudo crontab -e   命令编辑如下:

00 8 * * 0-6  ~/scriptName.sh  [var1 var2]

编辑完后保存退出,则该任务会在每天早上8点被执行

注:若在linux Ubuntu中想重新选择编辑器可使用select-editor 命令

Linux之例行(任务调度)的更多相关文章

  1. Linux中的任务调度

    1.crond,linux中的任务调度器 crond的概念和crontab是不可分割的.crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入 ...

  2. linux备忘录-例行性工作排程 (crontab)

    例行性工作排程 例行性工作排程分为两类 at at是只执行一次就结束的指令安排.要想使用at,必须要有atd服务的支持. crontab crontab是每隔一段时间自动执行的指令安排.crontab ...

  3. 一起来学linux:例行性任务之at和crontab

    对于我们日常生活来说,有很多例行需要进行的工作,比如每天早上起床一杯水,例如家人的生日,每天的起床时间等.这性例行的工作有可能被遗忘,但是如果我们用计算机来进行提醒的话,则方便很多.这里就要介绍到Li ...

  4. [原]对Linux环境下任务调度一点认识

    我一直以来有一个误解,那就是在终端运行某个程序时,按下Ctrl + D时我误以为就是杀死了这个进程,今天才知道原来不是.比如我利用libevent在Linux环境下写了一个网络监听程序,当启动程序之后 ...

  5. Linux 命令 - crontab: 任务调度

    cron 是一个 Linux 下的定时执行工具,可以在无需人工干预的情况下运行作业.守护进程 cron 会读取 crontab 文件,根据配置在指定的时间执行任务.contab 命令用来添加.删除.显 ...

  6. Linux 的crond 任务调度

    一.原理示意图 二.概述 任务调度:是指系统在某个时间执行的特定的命令或程序 任务调度分类: 1.系统工作:有些重要的工作周而复始的执行.如病毒扫描等 2.个别用户工作:个别用户可能希望执行程序,比如 ...

  7. linux之定时任务调度

    crond:任务调度 任务调度:是指系统在某个时间执行特定的程序或命令 任务调度分类: (1)系统工作,有些重要的工作必须周而复始地进行,如病毒扫描等 (2)个别用户工作:个别用户可能希望执行某些程序 ...

  8. linux中crontab任务调度

    一.创建调度任务 指令 crontab -e 进入当前用户编辑界面 crontab -u 用户名 -e 进入指定用户编辑界面 进入crontab任务编辑界面 任务编写格式 #每分钟执行查看一次/ect ...

  9. Linux之crond任务调度

    1. 示意图 2. 基本语法 crontab [选项] # -e : 编辑crontab定时任务 # -l : 查询crontab # -r : 删除当前用户所有的crontab任务 # 例子: # ...

随机推荐

  1. jenkins全局安全设置

    如何进入安全设置界面          在Jenkins的主界面,点击 configure Global Security 选项,进入Jenkins的系统安全设置界面.安全界面如下图.在这里我们分别介 ...

  2. ios 学习动画的套路 (一)

    你也肯定喜欢炫酷的动画! 在APP中,动画就是一个点睛之笔!可以给用户增加一些独特的体验感,估计也有许多的和我一样的,看着那些觉得不错的动画,也就只能流口水的孩子,毕竟~不知道从哪里下手去写!会连续的 ...

  3. C/C++中慎用宏(#define)

    宏的定义在程序中是非常有用的,但是使用不当,就会给自身造成很大的困扰.通常这种困扰为:宏使用在计算方面. 本例子主要是在宏的计算方面,很多时候,大家都知道定义一个计算的宏,对于编译和编程是多么的有用. ...

  4. jenkins coding.net webhook plugin

    开源地址: https://github.com/yuzd/coding.net =========================================================== ...

  5. C++程序员的阅读清单

    link:http://www.who1753.com/must-read-c-book-list/ 多读一些优秀的书籍,对于开发者稳固编程基础.提高编程技能有很大帮助.但是,大多时候,初学者不知道应 ...

  6. JQuery和Ajax在ASP.NET MVC中的基本应用

    当我们在开发Web应用程序中使用JQuery和Ajax异步调用来实现很多功能时,不仅提高了程序的性能,而且给用户一个更好的交互式界面操作体验.接下来我们依旧用简单的实例来学习下它们的应用. 创建一个A ...

  7. 每天一个Linux命令(01)--ls命令

    ls命令是Linux下最常用的命令.ls命令就是list的缩写,缺省下ls用来打印当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单.通过ls命令不仅可以查看Linux文件 ...

  8. Centos7 安装 zabbix3.2

    简介: Zabbix的一个很优秀的分布式监控服务器, 它有两部分组成: 1. “zabbix-server”用来收集并且在web端展示数据 2. “zabbix-agent”用来采集数据,发送给ser ...

  9. js substr和substring的区别

    在js中substring和substr都是用来截取字符串的,substr函数和substring函数都是用来从某个“母字符串”中提取“子字符串”的函数.但用法有些差别,下面分别介绍但是它们还是有区别 ...

  10. Javaweb之Servlet入门

    1. 什么是Servlet? Java Servlet 是运行在 Web 服务器或应用服务器上的程序:他是浏览器(HTTP客户端)请求和HTTP服务器上资源(访问数据库)之间的中间层. 2. 什么是S ...