定时任务

原则上程序员不应该直接登陆Linux系统去配置crontab,应由运维人员配置好每个项目对应的crontab,避免安全性问题,框架提供和Linux原生crontab一模一样的配置方法。

// crontab配置
// 记得使用和web同样的用户避免生成的日志不同权限:crontab -uwww-data -e
*/1 * * * * /data/web/www.kaliphp.com/web/app/crond/index.php >> /data/web/www.kaliphp.com/web/app/data/crond.log

// crond配置文件目录:app/config/crond.php
// crond执行文件目录:app/crond/
return [
    // 配置支持的格式
    'the_format' => [
        '*',        //每分钟
        '*:i',      //每小时 某分
        'H:i',      //每天 某时:某分
        '@-w H:i',  //每周-某天 某时:某分  0=周日
        '*-d H:i',  //每月-某天 某时:某分
        'm-d H:i',  //某月-某日 某时-某分
        'Y-m-d H:i',//某年-某月-某日 某时-某分
    ],
    // 配置执行的文件
    'the_time' => [
        // 每分钟
        //'*' => array('xxx.php'),

        // 每小时 某分
        //'*:00' => array('xxx.php'),
        //'*:20' => array('xxx.php'),
        //'*:40' => array('xxx.php'),

        // 每天 某时:某分
        //'10:00' => array('xxx.php'),

        // 每周-某天 某时:某分
        //'@-0 01:30' => array('xxx.php', 'xxx.php','xxx.php'),

        // 每月-某天 某时:某分
        //'*-05 01:00' => array('xxx.php'),

        // 每年 某月-某日 某时-某分
        //'12-12 23:43' => array('xxx.php'),

        // 某年某月某日某时某分
        //'2008-12-12 23:43' => array('xxx.php'),
    ]
];

crond类会把结果保存到数据库,所以我们在后台可以直接看到执行情况:

Last updated