crontab命令被用来提交和管理用户周期性自动执行的任务,系统启动时会自动启动crond进程,crond进程每分钟会自动检查是否有要执行的任务,有自动执行任务。php
语法shell
crondtab(选项)(参数)缓存
选项rest
参数日志
crontab文件:指定包含待执行任务的crontab文件;code
crontab相关概念解释进程
Linux下定时任务分为两种:分别为系统任务调度和用户任务调度;crontab
系统任务调度:系统周期性所要执行的工做,好比缓存数据写入磁盘,日志清理等。一般是/etc/crontab
文件。it
用户任务调度:用户周期性所要执行的工做,好比请求耗时任务,用户数据备份等。一般在/var/spool/cron
目录中。class
crond服务:
$ /etc/init.d/cron status //查看服务状态 $ /etc/init.d/cron start //启动服务 $ /etc/init.d/cron stop //关闭服务 $ /etc/init.d/cron restart //重启服务 $ /etc/init.d/cron reload //平滑重启(从新载入配置)
实例
minute hour day month week command 顺序:分 时 日 月 周 //每1分钟执行一次command * * * * * command //每小时的第3和第15分钟执行 3,15 * * * * command //在上午8点到11点的第3和第15分钟执行 3,15 8-11 * * * command //每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * command //每一个星期一的上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 command //每晚的21:30平滑重启PHP 30 21 * * * /etc/init.d/php reload 每个月一、十、22日的4 : 45重启php 45 4 1,10,22 * * /etc/init.d/php restart
解释:
minute: 表示分钟,能够是从0到59之间的任何整数。
hour:表示小时,能够是从0到23之间的任何整数。
day:表示日期,能够是从1到31之间的任何整数。
month:表示月份,能够是从1到12之间的任何整数。
week:表示星期几,能够是从0到7之间的任何整数,这里的0或7表明星期日。
command:要执行的命令,能够是系统命令,也能够是本身编写的脚本文件。
星号(*):表明全部可能的值,例如month字段若是是星号,则表示在知足其它字段的制约条件后每个月都执行该命令操做。
逗号(,):能够用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):能够用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):能够用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线能够和星号一块儿使用,例如*/10,若是用在minute字段,表示每十分钟执行一次。