linux 定时任务 (php)

时间:2022-08-24 07:49:14

实现PHP定时任务:

编写基础类:base.php (用来把定时任务要执行的代码指定在项目目录里面, 这样就可以直接使用项目中的框架了)

class base
{
    public function index(){
        $url = "www.xxxx.com/index/info/test";
        $this->curl_setopt_sms($url,'');
    }
    public function curl_setopt_sms($push_api_url,$post_data) {
        $ch = curl_init ();
        curl_setopt ( $ch, CURLOPT_URL, $push_api_url );
        curl_setopt ( $ch, CURLOPT_POST, 1 );
        curl_setopt ( $ch, CURLOPT_HEADER, 0 );
        curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data );
        curl_setopt ($ch, CURLOPT_HTTPHEADER, array("Expect:"));
        $return = curl_exec ( $ch );
        curl_close ( $ch );
    }
}    

编写 PHP脚本 test.php

<?php
#!/usr/bin/php -q
include 'base.php';
$sen = new base();
$sen->index();

 

在 项目文件中的 index/info/test  中完成定时任务的逻辑编写和数据处理

接下来就是指定定时任务运行了

使用 crontab -e 命令 

编写文件中内容:

* * * * * /usr/bin/php -f /home/目录/test.php >> test.log

  eg; 其中不明白的自行百度.

service crond reload 立即生效 (否则会等到你设置的时间生效)

然后 , 定时任务就完成了