> For the complete documentation index, see [llms.txt](https://doc.kaliphp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.kaliphp.com/crond.md).

# 定时任务

原则上程序员不应该直接登陆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类会把结果保存到数据库，所以我们在后台可以直接看到执行情况：

![](https://1289513667-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M9ohZkPTRLQGduv8duB%2F-MEwhXLm6fG4zgEoRCnN%2F-MEwhfxVqGUDwQtJP5Ao%2Fimage.png?alt=media\&token=63f26dca-5ef9-4a0d-bc42-f038dca044d4)
