Crond介绍

  Crond是linux系统中用来定期执行命令或指定程序任务的服务,一般情况下,安装完操作系统之后,默认便会启动此任务调度服务。Crond服务会定期检查系统中是否有要执行的任务工作,如果有,便会根据预先默认的规则自动执行该任务工作。

  linux任务调度的工作可以分为以下两类:

   1;系统自身执行的工作:系统周期性执行的任务工作,如轮询系统日志,备份系统数据,清理缓存等。

   2;用户执行的工作:某个用户定期要做的任务工作,例如每隔10分钟和互联网上世纪服务器进行时间同步,每天晚上0点备份站点数据,一般此类这些工作需要由每个用户自行设置。

指令语法

 crontab [-u user] file

 crontab [-u user] {-l | -r -e}  #-l表示查看  -e表示编辑


例如 我创建一个计划任务

[root@xiangys cron]# crontab -e

linux定时任务cround服务_cround服务

和我查看

 [root@xiangys ~]# cd /var/spool/cron

 [root@xiangys cron]# ls

 [root@xiangys cron]# cat root

 内容是一样的

linux定时任务cround服务_linux_02

以上说明所建立的crontab文件存与/var/spool/cron中 其中root 对应的是用户名root

*/5 * * * * /bin/bash/ntpdate time.windows.com >/dev/null 2>&1 #2表示错误输出 1表示正确输出

 /dev/null 2>&1  表示错误输出和正确输出都重定向到null 




01 表示1分钟  取值范围00-59

*   表示小时     取值范围00-23

*   表示天        取值范围01-31

*    表示月       取值范围01-12

*    表示星期   取值范围0-6


01 02 * * * /bin/bash/ntpdate time.windows.com >/dev/null 2>&1 

##表示每天两点01分执行这个计划任务



01 02-04 * * * /bin/bash/ntpdate time.windows.com >/dev/null 2>&1 

##表示每天2点到4点之间第一分钟开始执行任务  这个连续的时间用“-”号比较好


01 02,03,06 * * * /bin/bash/ntpdate time.windows.com >/dev/null 2>&1 

##表示每天2 3 6点的第一分钟开始执行这个计划任务,不连续的时间用这个是最好的


crontab 依赖的服务

[root@xiangys cron]# chkconfig --list |grep crond

linux定时任务cround服务_cround服务_03

 这里也可以这样查看系统默认是3级别的默认启动服务

[root@xiangys cron]# chkconfig --list |grep 3:on

linux定时任务cround服务_linux_04

[root@xiangys cron]# service crond restart

linux定时任务cround服务_linux_05

crontab实例说明

 crontab -l 

*/1 * * * * /bin/bash/ntpdate time.windows.com >/dev/null 2>&1

##表示每隔1分钟执行一次这个计划任务


30 3-12 * * * /bin/bash/ntpdate time.windows.com >/dev/null 2>&1

##表示每天的3点到12点的30分执行计划任务 也可以解释成3点30执行一次 4点30执行一次 一直到12点30


30 3,12 * * * /bin/bash/ntpdate time.windows.com >/dev/null 2>&1

##表示每天3点30 和12点30分别执行一次计划任务 


30 */6 * * * /bin/bash/ntpdate time.windows.com >/dev/null 2>&1

##表示每6个小时的30分执行一次计划任务


30 8-12/2 * * * /bin/bash/ntpdate time.windows.com >/dev/null 2>&1

##表示8点到12点的连续时间段中每两个小时的30分钟执行一次这个计划任务