定时任务crond服务

时间:2021-03-03 08:01:30

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