TP5 用cron实现linux定时任务

TP5 用cron实现linux定时任务

  1) tp5的控制器内容:

namespace app\test\controller;

use think\Controller;
use think\facade\Log;

class Test extends Controller{
    
public function testCrontab(){

    // 定时执行的代码。。。 开始 Log::error('start test crond demo.....');
Log::error('end test crond demo.....');
    // 定时执行的代码。。。 结束
}
}

 

 

  2) 新建文件:crontab.sh,写入以下内容,并放在项目的根目录,(如果是TP5,与public目录平级)

#!/bin/bash
/server/php-5.6.38/bin/php /project/test_project/public/index.php test/test/testCrontab

  说明:public为tp5的执行目录,test/test/testCrontab为:模块/控制器/操作

 

  3). linux后台,输入 crontab -e,写入以下内容(第一个sh后面的路径为第2步的crontab.sh的全路径),写入的内容将生成一个文件,自动保存为/var/spool/cron/root文件,root为当前linux登录的用户名。

*/1 * * * * sh /[项目根目录]/crontab.sh

  说明: 前面5个星意义:

基本格式 : 
*  *  *  *  *  command 
分 时 日 月 周 命令 
第1列表示分钟1~59 每分钟用*或者 */1表示 
第2列表示小时1~23(0表示0点) 
第3列表示日期1~31 
第4列表示月份1~12 
第5列标识号星期0~6(0表示星期天) 
第6列要运行的命令 

  4)重启crond服务

service crond restart

  说明:crontab -l  可以查看当前的定时任务。 

 5) 经过以上配置,上述TP5的控制器内的操作1分钟将会执行一次。

public function testCrontab(){

    // 定时执行的代码。。。 开始
        Log::error('start test  crond demo.....');

        Log::error('end test  crond demo.....');
    // 定时执行的代码。。。 结束
}

 

posted @ 2019-10-31 16:56  万斗司  阅读(1589)  评论(0编辑  收藏  举报