Linux之定时任务crontab详解

Linux之定时任务crontab详解,第1张


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

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

Linux之定时任务crontab详解,第2张

创建任务计划

  1. 登录linux服务器

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

  3. 保存完成后的文件在 /var/spool/cron/
    Linux之定时任务crontab详解,第3张

编写定时计划

linux定时任务的时间有固定的格式,比如:
Linux之定时任务crontab详解,第4张

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

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

<?php
file_put_contents('/home/test.php',date('Y-m-d H:i:s',time()),FILE_APPEND);

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

Linux之定时任务crontab详解,第5张

Linux之定时任务crontab详解,第6张
前面一般有五个*号使用5个时间表示

分 时 日 月 星期

例子

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

  1. 每隔一分钟执行一次

    */1 * * * *

    Linux之定时任务crontab详解,第7张

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

    30 1 * * *

    Linux之定时任务crontab详解,第8张

  3. 每周一早8:00 执行

    0 8 * * 1

    Linux之定时任务crontab详解,第9张

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

    30 19 * * 1-5

    Linux之定时任务crontab详解,第10张

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

    30 11,17 * * 1-5

    Linux之定时任务crontab详解,第11张

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

    30 11 * * 1-5
    40 17 * * 1-5
  7. 每隔2天晚上6点, 执行

    0 18 */2 * * 

    Linux之定时任务crontab详解,第12张

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

  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中文网其它相关文章!

文章来源:https://www.php.cn/faq/387041.html

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
U19学习网站 » Linux之定时任务crontab详解