Crontab是Linux运维最基础的命令之一,该命令的作用就是定期执行计划性工作,它类似于Windows的计划任务。CentOS自带这个服务而且是自动启动的,它的命令行工具crontab命令却不是Linux的内置命令。通过type命令就可以看出来。
yum install crontab 安装 service crond start/stop/restart/reload
Linux中调度任务分为两种:系统调度任务、用户调度任务
系统调度任务:顾名思义是系统发起的也就是内置的完成系统操作,配置文件为/etc/crontab
用户调度任务:用户发起的,完成用户所需要的工作,配置文件自己生成,/var/spool/cron
所以对于系统来说它既要执行系统级的任务也好执行用户级别的任务。
我们用系统级的配置文件来说下格式,这个在用户级别是一样的
SHELL:系统使用的SHELL是什么
PATH:执行命令时寻找命令的路径
MAIL TO:如果出现错误或者输出那么发送电子邮件给谁
HOME:执行命令或脚本使用的主目录
文件里已经表明了具体格式,这里在说一下它
minute | hour | day | month | week | commd |
0-59表示60分钟 | 0-23表示24小时 | 1-31表示天 | 1-12表示12个月 | 0-6 表示周一到周日 | 要执行的命令 |
* 表示任何时间,比如如果再hour段写*,表示其他条件满足,不管当前实际hour时间是多少,都执行
, 表示时间间隔,比如在minute段写 0,15,30,45 表示每隔15分钟运行一次
- 表示一个范围,比如在hour段,2-4,表示2点3点4点
/ 表示一个频率,比如在hour段 0-23/2 表示每2小时执行一次,相当于0,2,4,6,8,10,12,14...就是一种简化写法
一般用户设定计划任务就使用crontab命令
crontab file [-u] [-e] [-l | -r]
file 指定一个加载任务列表的文件
-e 编辑当前用户的任务文件,可以指定-u来设定修改谁的
-l 显示当前用户的任务文件,可以指定-u来设定显示谁的
-r 从/var/spool/cron目录中删除某个用户的任务文件
本文出自 “小恶魔的家” 博客,请务必保留此出处http://littledevil.blog.51cto.com/9445436/1865126
原文地址:http://littledevil.blog.51cto.com/9445436/1865126