所以我已经设置了我的内核文件来安排命令在每天凌晨2点运行。
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
Commands\Users\MyCommand::class
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command(Commands\Users\MyCommand::class)
->dailyAt('02:00');
}
}
我也按照文档的建议在命令行中运行它:
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1
当我在命令行中运行'php artisan MY COMMAND NAME'时,命令执行。此外,当我使用schedule时:在正确的时间运行该命令也会运行。
但是,我希望它在指定的时间自动运行,但这不会发生。
答案 0 :(得分:1)
您必须将此命令添加到您的cron作业
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1
要编辑您的cron作业,请先键入此命令
crontab -e
答案 1 :(得分:0)
/path/to/artisan
应该是Artisan的实际路径。通常类似于/home/myUser/laravel/artisan
或您的Laravel / Artisan在您的安装中。