一个PHP工匠命令的Cron工作

时间:2018-04-17 16:43:50

标签: cron artisan

当我经常运行命令时,我会从/var/www/project/html/current/执行此操作,它看起来像php artisan import: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

有人有建议吗?

由于

2 个答案:

答案 0 :(得分:2)

见这里:

https://laravel.com/docs/5.6/scheduling

您可以将<?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(); } } 添加到您的cron选项卡中,该选项卡运行artisan schedule:运行,然后您将控制台命令添加到计划内核及其计划参数中,laravel处理其余的:)

来自文档:

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

编辑:

您还指定了工匠的奇怪路径,请尝试:

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

而不是

{{1}}

答案 1 :(得分:0)

在crontab中添加此作业

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

您忘了在项目文件夹路径和工匠命令之间放置这些字符“ &&”

示例:

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1