辛星浅析Linux中的crond

    cron来自于希腊单词chronos,也就是"时间",他是Linux下自动执行指定任务的程序,通常我们大陆这边习惯称之为"计划任务",台湾那边习惯称之为例行性程序。



    该服务是Linux的内置服务,一般会自动启动的,我们也可以

    通过/sbin/service  crond  start来启动它,

    通过/sbin/service  crond  stop来停止,

    通过/sbin/service  crond  restart来重启,

    通过/sbin/service  crond   reload来重新加载。


    我们可以在/etc/crontab中编辑我们需要的计划任务,他是系统级别的任务配置。当然我们也可以使用crontab -e来编辑用户级的计划任务。通常/etc/crontab里面有语法范例,他需要指定任务的执行者,但是用户级的计划任务就不需要指定了。

    

    每个计划任务用一行表示,他可以是一个命令,也可以是一个命令目录,它的格式是:minute   hour  day  month   dayofweek   command,而且在时间的表示上,星号*表示可以用来代表所有值,而短线-表示指定一个范围,而正斜线/可以用来指定频率,而井号#开头表示是注释,

    查看当前用户的cron配置,我们使用crontab  -l命令,

    编辑当前用户的cron配置,我们使用crontab  -e命令,

    删除所有用户的cron配置,我们使用crontab  -r命令,

    配置系统级别的计划任务,我们直接编辑/etc/crontab文件即可。

   

    cron根据时间来确定对重复任务的执行,他假定系统持续运行,如果当某任务被调度时不在运行,该任务就无法执行,他不会自动延后。cron守护进程每分钟都会检查/etc/crontab文件,/etc/cron.d目录,/var/spool/cron目录中的内容,如果发生了改变,会把它们加载入内存。

 

    通常我们用/etc/cron.allow和/etc/cron.deny文件来限制对cron的使用,这两个文件都是每行一个用户,两个文件都不允许空格。如果使用控制文件被改变了,cron守护进程也就是crond不必被重启。如果cron.allow文件存在,那么只有其中列出的用户能够使用计划任务,而且cron.deny文件会被忽略。如果cron.allow不存在,那么所有在cron.deny中列出的文件都被禁止使用计划任务。

   

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。