• chapter16:例行性工作(crontab)之二:循环执行的例行性工作调度


      循环执行的例行性工作调度是由cron(crond)这个系统服务来控制的,这个服务是系统默认启动的。Linux也提供用户控制例行性工作调度的命令crontab。

    一。用户设置

      为了安全起见,我们可以限制能够使用crontab的用户。同at类似,用两个文件进行设置,/etc/cron.allow,/etc/cron.deny。

      当用户使用crontab这个命令的来新建工作调度后,工作就会被记录到/var/spool/cron里面。而且是以帐号来作为判别的。如chuiyuan在使用这个从后,工作会记录到/var/spool/cron/chuiyuan。不要使用vim来编辑这个文件,因为可以出错。

    crontab语法

    crontab [-u username] [-l |-e |-r]

    -u:只有root才可以用,也就是帮助其它用户建立crontab工作调度。

    -e:编辑crontab的工作内容。

    -l:查看

    -r:删除所有的,如果想只删除一项,则使用-e来编辑。

    二。系统的配置文件/etc/crontab

      上面的crontab -e是对用户的cron来设计的,里面的crontab实际是/usr/bin/crontab这个可执行文件,如果是系统的例行性工作时,则编辑/etc/crontab这个文件,这是一个文本文件。

      基本上,cron这个服务检测的时间是分钟,所以cron每分钟都会去读取一次/etc/crontab与/var/spool/cron里面的内容。因此当我们修改完/etc/crontab这个文件后,cron就会自动来执行。

    要注意的是,有的系统可以是将crontab读取到了内存中,因此在修改后请重启下crond这个服务。  先看看/etc/crontab这个文件的内容

    我们可以自己修改这个文件,由于centos有 run-parts(一个bash scripts,运行后面接的目录下的所有可执行文件)这个命令。所以/etc/crontab这个文件支持两种方式的执行,

    一种是直接命令执行,一种是以目录来规划。

    三。可唤醒停机期间的工作任务

      如果主机是24小时不关机的,那么我们只要有at与crond两个服务来管理我们的例行性工作调度就可以了,如果不是24小时不关机,则要有anacron程序(不是服务)。它并不是用来替代crontab,而是以天为单位或者是在开机后立刻执行anacron这个操作。它会去查看在停机期间没有进行的crontab任务,并将这个任务执行一次,然后anacron就自动停止了。所以anacron其实也是通过crontab来运行的,因此它的运行时间通常有两个,一个是系统开机时,一个是写入crontab的调度中。

    anacron这个程序在centos中已经进入crontab的调度,查看如下

    接下来我们看看/etc/anacrontab里面的内容

  • 相关阅读:
    @value传值到static字段
    [Err] 1701
    eclipse search只能打开一个文件
    FTPClient登录慢的问题
    nginx克隆之后问题
    centos-ftp搭建
    addEventListener和attachEvent的区别 分类: JavaScript 2015-05-12 19:03 702人阅读 评论(0) 收藏
    python中使用eval() 和 ast.literal_eval()的区别 分类: Python 2015-05-11 15:21 1216人阅读 评论(0) 收藏
    初学者必知的Python中优雅的用法 分类: Python 2015-05-11 15:02 782人阅读 评论(0) 收藏
    javascript中函数声明和函数表达式的区别 分类: JavaScript 2015-05-07 21:41 897人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/chuiyuan/p/5146967.html
Copyright © 2020-2023  润新知