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
和我查看
[root@xiangys ~]# cd /var/spool/cron
[root@xiangys cron]# ls
[root@xiangys cron]# cat root
内容是一样的
以上说明所建立的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
这里也可以这样查看系统默认是3级别的默认启动服务
[root@xiangys cron]# chkconfig --list |grep 3:on
[root@xiangys cron]# service crond restart
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分钟执行一次这个计划任务