为什么我无法打开我的 crontab? Laravel 5 任务调度器
Why can I not open my crontab? Laravel 5 task schedular
我刚开始研究一个 artisan 命令,它每分钟输出 "hello" 和 Laravel 任务计划。
我的命令 'php artisan DeleteInActiveEvents:deleteevents' 输出终端中应有的内容:"hello"。
我的命令:
class deleteInActiveEvents extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'DeleteInActiveEvents:deleteevents';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
echo "hello";
}
我的Kernel.php
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
\einkdisplay\Console\Commands\DeleteInActiveEvents::class
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('DeleteInActiveEvents:deleteevents')->everyMinute();
}
/**
* Register the Closure based commands for the application.
*
* @return void
*/
protected function commands()
{
require base_path('routes/console.php');
}
因此此时一切仍在运行。但是我想每分钟都执行这个命令。当我 运行 php artisan schedule:run 时,它不是 运行ning 命令。 laravel 文档说我需要添加:
- php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
到我的 crontab。但是当我在终端中使用 crontab -e 时,我没有得到我的 crontab 并且我无法添加这行代码。
可能是一个非常菜鸟的问题,但我无法弄清楚。在正确的方向上提供一些帮助将不胜感激!
我最好的猜测是您没有保存 crontab 的权限。你试过sudo crontab -e
.
我刚开始研究一个 artisan 命令,它每分钟输出 "hello" 和 Laravel 任务计划。
我的命令 'php artisan DeleteInActiveEvents:deleteevents' 输出终端中应有的内容:"hello"。
我的命令:
class deleteInActiveEvents extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'DeleteInActiveEvents:deleteevents';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
echo "hello";
}
我的Kernel.php
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
\einkdisplay\Console\Commands\DeleteInActiveEvents::class
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('DeleteInActiveEvents:deleteevents')->everyMinute();
}
/**
* Register the Closure based commands for the application.
*
* @return void
*/
protected function commands()
{
require base_path('routes/console.php');
}
因此此时一切仍在运行。但是我想每分钟都执行这个命令。当我 运行 php artisan schedule:run 时,它不是 运行ning 命令。 laravel 文档说我需要添加:
- php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
到我的 crontab。但是当我在终端中使用 crontab -e 时,我没有得到我的 crontab 并且我无法添加这行代码。 可能是一个非常菜鸟的问题,但我无法弄清楚。在正确的方向上提供一些帮助将不胜感激!
我最好的猜测是您没有保存 crontab 的权限。你试过sudo crontab -e
.