我制作了一个名为db:dump
的自定义工匠命令,它将我的数据库转储到sql
文件中。
我尝试将其应用到调度程序中,因此每次都会根据我想要应用的时间范围进行备份。在这种情况下,我使用everyMinute()
这就是我的内核看起来的样子。
namespace App\Console;
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 = [
Commands\MySqlDump::class,
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('db:dump')
->everyMinute();
}
/**
* Register the Closure based commands for the application.
*
* @return void
*/
protected function commands()
{
require base_path('routes/console.php');
}
}
在我的命令提示符中执行php artisan schedule:run
时,它只能运行一次。尝试等待5分钟,看看它是否会备份5次,但事实并非如此。我反复尝试运行schedule:run
,而且每次都只运行sql
。基本上,每次运行schedule:run
时,它都会转储Transition Rejection($id: 0 type: 6, message: The transition errored,
detail: Error: [$injector:unpr]
http://errors.angularjs.org/1.6.5/$injector/unpr?
p0=MenuDataServiceProvider%20%3C-%20MenuDataService)
_defaultErrorHandler @ angular-ui-router.min.js:13
(anonymous) @ angular-ui-router.min.js:13
(anonymous) @ angular.min.js:136
$digest @ angular.min.js:147
$apply @ angular.min.js:150
(anonymous) @ angular.min.js:163
e @ angular.min.js:48
(anonymous) @ angular.min.js:51
setTimeout (async)
h.defer @ angular.min.js:51
f @ angular.min.js:163
(anonymous) @ angular-ui-router.min.js:11
kg @ angular.min.js:39
d @ angular.min.js:39
angular-ui-router.min.js:13 Error: [$injector:unpr]
http://errors.angularjs.org/1.6.5/$injector/unpr?p0=MenuDataServiceProvider%20%3C-%20MenuDataService
at angular.min.js:7
at angular.min.js:46
at Object.d [as get] (angular.min.js:43)
at angular.min.js:46
at Object.d [as get] (angular.min.js:43)
at t.getNative (angular-ui-router.min.js:12)
at o (angular-ui-router.min.js:12)
at Array.map (<anonymous>)
at t.getDependencies (angular-ui-router.min.js:12)
at i (angular-ui-router.min.js:12)
文件。
我现在完全迷失了,感谢那些可以帮助我的人。 :)
答案 0 :(得分:0)
如果您在本地运行,那么您应该使用以下内容。
php artisan schedule:work
当你在实时服务器上时,你必须像下面这样设置cron配置
https://laravel.com/docs/8.x/scheduling#running-the-scheduler-locally
答案 1 :(得分:0)
您需要在 Plesk 或 directadmin 或 Cpanel 等控制面板计划服务器上运行 cronjob。
鸡蛋:visit