标签:
循环执行的例行性工作调度是由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里面的内容
chapter16:例行性工作(crontab)之二:循环执行的例行性工作调度
标签:
原文地址:http://www.cnblogs.com/chuiyuan/p/5146967.html