php模拟linux crontab实现定时计划任务的方法

本文分享一下php模拟linux crontab实现定时计划任务的方法。

PHP定时计划任务需要两个文件。

1、crontab.conf.php (配置文件)

<?php
//当为0时,关闭计划任务
return 1;

2、crontab.php (主体文件)

<?php
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去

$interval = 60 * 3;// 每隔3分钟运行
$i = 0;

do {
    $nowTime = date("Y-m-d H:m:s");
    $run = include 'crontab.conf.php';

    if (!$run) {
        file_put_contents("crontab_task.log", "==计划任务已结束 $nowTime==\r\n", FILE_APPEND);
        die('Job has ended.');
    }

    //此处放要执行的代码
    sleep($interval);// 等待3分钟
    $data = "$i>计划任务正在运行中...(运行状态:$run)  $nowTime\r\n";
    file_put_contents("tasktest.txt", $data, FILE_APPEND);
    $i++;
} while (true);

主要改变 crontab.conf.php 中 return 0 即可实现控制这个计划任务的关闭。

注意:当php服务关掉之后该计划任务脚本也会停掉并且不会自动重启。

标签:CrontabPHPLinux 发布于:2019-11-03 23:19:28