欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  运维

Linux之定时任务crontab详解

程序员文章站 2022-03-19 09:57:22
...


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

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

Linux之定时任务crontab详解

创建任务计划

  1. 登录linux服务器

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

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

编写定时计划

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

这个任务计划就是每隔一分钟执行一次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详解

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

分 时 日 月 星期

例子

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

  1. 每隔一分钟执行一次

    */1 * * * *

    Linux之定时任务crontab详解

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

    30 1 * * *

    Linux之定时任务crontab详解

  3. 每周一早8:00 执行

    0 8 * * 1

    Linux之定时任务crontab详解

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

    30 19 * * 1-5

    Linux之定时任务crontab详解

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

    30 11,17 * * 1-5

    Linux之定时任务crontab详解

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

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

    0 18 */2 * * 

    Linux之定时任务crontab详解

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

  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详解的详细内容,更多请关注其它相关文章!