Cron 基本命令
crontab -e // 编辑crontab 任务
crontab -l // 查看crontab 任务
crontab -r // 删除crontab 任务
启动
# ubuntu
systemctl start cron // 启动
systemctl status cron // 查看状态
systemctl restart cron 重启
# centos
systemctl status crond // 查看状态(注意有 d)
...
使用过程,遇到问题
# crontab -e 编辑任务
* * * * * /usr/bin/php /home/vagrant/code/j-tp6/public/index.php api/index/index >> /tmp/log.log
0, `* * * * *` // 任务时间配置
1, `/usr/bin/php` // 使用php
2, `/home/vagrant/code/j-tp6/public/index.php` // TP的入口文件`index.php`
3, `api/index/index` // 参数`路由`
4, `>> /tmp/log.log` 测试输出结果
# 以上理想中的写法, 但是实际中不能正确走通路由入口方式`/j-tp6/public/index.php`, 所以要换成`TP` 的命令行使方式`/j-tp6/think`
创建自定义指令
1, 创建app\command\Hello.php
class Hello extends Command
{
protected function configure()
{
$this->setName('cron')->setDescription('定时统计任务');
}
protected function execute(Input $input, Output $output)
{}
}
2, 配置config/console.php
文件
<?php
return [
'commands' => [
'hello' => 'app\command\Hello',
]
];
3, 测试-命令帮助-命令行下运行
php think
最终定时任务写法
* * * * * /usr/bin/php /home/vagrant/code/j-tp6/think cron