首页 > 运维 > linux运维 > 正文

Linux之定时任务crontab详解

小云云
发布: 2018-02-26 10:45:20
原创
3196 人浏览过


crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

在windows系统上有一个定时任务计划,通过一步步的设置就可以在某一个时间执行命令,像PHP就是执行bat文件,然后bat文件执行php文件,但是在linux上,就要使用crontab来做定时任务。而任务计划的执行是通过一个守护进程crond进行控制。

创建任务计划

  1. 登录linux服务器

  2. 输入crontab -e,输入后会自动进入vi编辑器,这时候就可以根据需求去写命令,写完保存退出即可。

  3. 保存完成后的文件在 /var/spool/cron/

编写定时计划

linux定时任务的时间有固定的格式,比如:

这个任务计划就是每隔一分钟执行一次test.php这个文件,可以看到crontab的任务计划一般分为两个部分,前面是时间,也就是定义在什么时间,后面就是在这个时间要做的事。

这里使用PHP语言,test.php文件的内容

<span style="font-size: 14px;"><?php<br>    file_put_contents('/home/test.php',date('Y-m-d H:i:s',time()),FILE_APPEND);<br></span>
登录后复制

因此这个任务计划就是,每隔一分钟向home下的test.php文件里面写入时间


前面一般有五个*号使用5个时间表示

分     时    日      月       星期

例子

可以使用网上的在线工具测试任务计划写的对不对
https://tool.lu/crontab/

  1. 每隔一分钟执行一次

    <span style="font-size: 14px;">*/1 * * * *<br></span>
    登录后复制

  2. 在每天的凌晨1.30执行一次

    <span style="font-size: 14px;">30 1 * * *<br></span>
    登录后复制

  3. 每周一早8:00 执行

    <span style="font-size: 14px;">0 8 * * 1<br></span>
    登录后复制

  4. 每周1-5 晚7:30, 执行

    <span style="font-size: 14px;">30 19 * * 1-5<br></span>
    登录后复制

  5. 每工作日上午11:30, 下午5:30 执行

    <span style="font-size: 14px;">30 11,17 * * 1-5<br></span>
    登录后复制

  6. 每工作日上午11:30, 下午5:40 执行

    <span style="font-size: 14px;">30 11 * * 1-5<br>40 17 * * 1-5<br></span>
    登录后复制
  7. 每隔2天晚上6点, 执行

    <span style="font-size: 14px;">0 18 */2 * * <br><br></span>
    登录后复制

从上面的栗子中可以看见时间的语法:

  1. *, 任意

  2. */N, 每隔N个时间单位

  3. 1-5, 范围

  4. 11,17 和

  5. 数字3, 时间点

时间后, 跟随执行脚本即可

命令

  1. crontab -e 编写任务计划

  2. crontab -l 列出现在所有的任务计划

  3. crontab -r 删除任务计划

相关推荐:

yii2 配置crontab定时任务

什么是Linux使用者控制计划任务Crontab命令及详解

实例讲解如何利用crontab定时备份MySQL

以上是Linux之定时任务crontab详解的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板