详细介绍Linux的定时任务crontab

一、前言

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。

该命令从标准输入设备读取指令,并将其存放于“crontab”文件中(/var/spool/cron/以用户命名的文件),以供之后读取和执行。

该词来源于希腊语 chronos(χρνο),原意是时间。

通常,crontab储存的指令被守护进程 - crond激活在后台运行,每一分钟检查是否有预定的作业需要执行。

这类作业一般称为cron jobs。

二、启动crond进程


service crond start

若没安装请先安装:


yum install vixie-cron

yum install crontabs

三、crontab常见命令:

     crontab -e 编辑crontab文件,编辑后crond进程自动读取

     crontab -l 列出用户crontab文件的详细内容

     crontab -r 删除crontab文件

四、crontab文件格式

crontab文件由6部分组成

     1、minute 一小时中的哪一分钟[0-59]

     2、hour 一天中的哪一小时[0-23]

     3、day-of-month 一月中的哪一天[1-31]

     4、month-of-year 一年中的哪一月[1-12]

     5、day-of-week 一周中的哪一天[0-6]

     6、commands 执行的命令

这些选项都不能为空,如果用户不需要制定其中的几项,可以使用*表示任何时间。

每个时间字段都可以指定多个值,可以用逗号隔开, 5-8 */5


15 3 * * 1-5 echo 111 > aa.txt

如上面标示每周一到周5的3点15分执行该计划任务

五、哪些用户可以使用crontab命令

/etc/cron.allow 如果这个文件存在,那么只有在此文件中的用户可以使用crontab命令,如果文件不存在则查找/etc/cron.deny

/etc/cron.deny 如果这个文件存在,则在此文件中的用户都不能使用crontab命令

如果2个文件都不存在,则只有root能使用crontab命令

如果2个文件都存在,且均为空,则所有用户都能使用crontab命令

六、定时任务结合PHP

定时执行php很简单,只需要把命令换成php脚本就行了,如下表示每隔1分钟执行index.php


*/1 * * * * php /usr/www/test/index.php

七、总结

以上就是关于Linux下定时任务crontab的全部内容,大家都学会了吗?希望这篇文章对大家学习或者使用linux有所帮助,谢谢大家对脚本之家的支持。

0.241273s