crond
什么是?
crond 是linux系统中用于定期执行命令或指定程序任务的服务。一般情况下,安装完系统操作之后,默认会启动任务调度服务。
linux调度任务的工作可以分为两类:
系统自身执行的工作:系统周期性执行的任务工作,如:轮询系统日志,备份系统数据,清理缓存等
用户执行的工作:某个用户定期要做的任务,如:每隔5分钟和互联网上的时间服务器进行时间的同步,每晚上10点进行数据的备份,每天定期执行某个脚本等
指令语法
crontab [ -u user] file
crontab [-u user] {-l |-r|-e}
-l 显示用户crontab文件的内容 crontab -l
-r 从crontab目录中删除用户的crontab文件 crontab -r
-e 进入vi模式编辑crontab文件 crontab -e
-i 删除用户crontab文件前确认提示 crontab -e
-u user 指定使用者 crontab -u kangkang -l
指令说明
通过crontab 我们可以在固定的时间执行指定的系统指令或脚本,这个指令非常适合周期性的日志分析或者数据备份
使用者权限文件
/etc/cron.deny 该文件中列的用户不允许使用crontab命令
/etc/cron.allow 该文件中列的用户允许使用crontab命令
/vat/spool/cron 所有的用crontab 文件存放的目录,以用户的命名
指令的使用格式
默认情况下,用户所创建的crontab文件位于/var/spool/cron 其中crontab对应的文件与用户名一致
格式共分为7段,前5段为时间段,第6段为以哪个用户执行crontab(默认是当用户),第7段为所要执行的命令段
格式如下:
01 * * * * root run
crontab 时间段的含义:
第一段:代表分钟 00-59
第二段:小时 00-23
第三段: 日期 01-31
第四段:月份 01-12
第五段:星期 0-6
* 表示任意时间都 例如:00 23 * * * commond 表示无论何年何月何周何日的23:00执行任务
- 表示分隔符 例如: 17-19点 每小时的00 分执行任务 00 17-19 * * * commond
,表示分割时间段 例如: 20 17,18 * * * command 每天的17点、18点20都执行任务
/n 每隔n单位的时间 例如: */10 * * * * command 每10分钟执行一次任务
crontab依赖的服务查看及重启
chkconfig --list |grep crond
/etc/init.d/crond status
/etc/init.d/crond restart