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里面的内容

 

转载于:https://www.cnblogs.com/chuiyuan/p/5146967.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值