php artisan命令的Cron作业

php artisan命令的Cron作业,cron,laravel-artisan,Cron,Laravel Artisan,当我通常运行命令时,我从/var/www/project/html/current/执行,它看起来像是php artisan导入:myData。这很有效 但是我不能让它作为cron作业运行,我已经尝试了以下cron作业 */3 * * * 1-5 cd /var/www/project/html/current/ php artisan import:myData >/dev/null 2>&1 */3 * * * 1-5 /var/www/project/html/cur

当我通常运行命令时,我从/var/www/project/html/current/执行,它看起来像是php artisan导入:myData。这很有效

但是我不能让它作为cron作业运行,我已经尝试了以下cron作业

*/3 * * * 1-5 cd /var/www/project/html/current/ php artisan import:myData >/dev/null 2>&1

*/3 * * * 1-5 /var/www/project/html/current/ php artisan import:myData >/dev/null 2>&1

*/3 * * * 1-5 /usr/local/bin/php /var/www/project/html/current/ php artisan import:myData >/dev/null 2>&1
有人有什么建议吗

谢谢

请参见此处:

将*****php/path添加到项目/artisan schedule:run>/dev/null 2>&1到运行artisan schedule:run的cron选项卡中,然后将控制台命令及其时间表参数添加到时间表内核中,laravel将处理其余命令:

从文档中:

<?php

namespace App\Console;

use DB;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        //
    ];

    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        $schedule->call(function () {
            DB::table('recent_users')->delete();
        })->daily();
    }
}
而不是

*/3 * * * 1-5 cd /var/www/project/html/current/ php artisan import:myData >/dev/null 2>&1
请看这里:

将*****php/path添加到项目/artisan schedule:run>/dev/null 2>&1到运行artisan schedule:run的cron选项卡中,然后将控制台命令及其时间表参数添加到时间表内核中,laravel将处理其余命令:

从文档中:

<?php

namespace App\Console;

use DB;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        //
    ];

    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        $schedule->call(function () {
            DB::table('recent_users')->delete();
        })->daily();
    }
}
而不是

*/3 * * * 1-5 cd /var/www/project/html/current/ php artisan import:myData >/dev/null 2>&1

在crontab中添加此作业

*/3***1-5 cd/var/www/project/html/current&&php artisan导入:myData>/dev/null 2>&1 您忘记将这些字符&&放在项目文件夹的路径和artisan命令之间

例如:

*****项目和php artisan计划的cd/路径:运行>>/dev/null 2>&1
在crontab中添加此作业

*/3***1-5 cd/var/www/project/html/current&&php artisan导入:myData>/dev/null 2>&1 您忘记将这些字符&&放在项目文件夹的路径和artisan命令之间

例如:

*****项目和php artisan计划的cd/路径:运行>>/dev/null 2>&1
嗨,值得一提的是,我正在Crontab中运行我的命令。那不可能吗?谢谢你的回复。谢谢你迄今为止的帮助。artisan应该是目录吗?在/current/I中,我有一个Artisan文件,但没有目录。我可能想尝试指定Crontab的完整路径,因为/current/is实际上是/releases/100。artisan是一个没有扩展名的php文件,它位于Laravel的根目录中。服务器上是否存在/current/目录?编辑:完整路径似乎已经运行,我相信没有cd。谢谢你的帮助!乐于帮助:您好,值得一提的是,我正在Crontab中运行我的命令。那不可能吗?谢谢你的回复。谢谢你迄今为止的帮助。artisan应该是目录吗?在/current/I中,我有一个Artisan文件,但没有目录。我可能想尝试指定Crontab的完整路径,因为/current/is实际上是/releases/100。artisan是一个没有扩展名的php文件,它位于Laravel的根目录中。服务器上是否存在/current/目录?编辑:完整路径似乎已经运行,我相信没有cd。谢谢你的帮助!乐于帮助:欢迎来到SO,请参阅此以更好地展示您的答案:欢迎来到SO,请参阅此以更好地展示您的答案: