1.创建定时任务
crontab -e
编写以下cron语句:
* * * * * /usr/bin/php /www/wwwroot/guxicun/artisan schedule:run >> /dev/null 2>&1
/usr/bin/php为PHP路径,/www/wwwroot/guxicun为项目绝对路径根目录,如果不知道PHP路径
which php
添加完后输入以下命令查看:
crontab -l
删除所有定时任务:
crontab -r
2.创建命令
php版本<5.3
php artisan make:console command_name --command=artisan_command_name
php版本>=5.3
Php artisan make:command command_name --command=artisan_command_name
command_name:生成的文件名
artisan_command_name: php artisan命令调度时的命令名称
php artisan make:console Test --command=xzj:test
Test是命令名,xzj:test是控制台执行的命令,类似make:console。
执行完后,会在app/Console/Commands目录下生成一个Test.php文件:
3.运行命令
在运行命令前需要将其注册到App\Console\Kernel的$commands属性中:
protected $commands = [
//
Commands\Test::class,
];
protected function schedule(Schedule $schedule)
{
$schedule->command('xzj:test')//Test.php中的signature
->everyFiveMinutes();//每五分钟执行一次
}
schedule:run 会执行App\Console\Kernel里schedule下的注册命令
如果你想单独执行某个命令可以这样:
* * * * * /usr/bin/php /www/wwwroot/guxicun/artisan xzj:test >> /dev/null 2>&1
如果未执行,可查看日志。
网友评论