Maison > Questions et réponses > le corps du texte
J'ai un projet Laravel v8 et j'ai créé une tâche cron pour la sauvegarde de la base de données
Cela fonctionne toutes les minutes mais quand je précise l'heure de la journée, cela ne fonctionne pas.
Le fuseau horaire du projet est "Asia/Kolkata" et le fuseau horaire de mon serveur partagé GoDaddy est UTC.
kernel.php
<?php namespace App\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { /** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { // $schedule->command('backup:clean')->everyMinute(); $schedule->command('backup:run')->cron('51 3 * * *'); } /** * Register the commands for the application. * * @return void */ protected function commands() { $this->load(__DIR__.'/Commands'); require base_path('routes/console.php'); } }
Mon cronjob sur Cpanel.
P粉0578693482024-03-29 14:22:49
Remplacez votre kernel.php
command('backup:clean')->everyMinute(); } /** * Register the commands for the application. * * @return void */ protected function commands() { $this->load(__DIR__.'/Commands'); require base_path('routes/console.php'); } }
Après cela, définissez la tâche cron sur Cpanel et l'heure à laquelle vous souhaitez l'exécuter
Vérifiez l'heure indiquée dans cPanel, cron fonctionnera certainement
P粉2327937652024-03-29 13:40:39
Vous pouvez exécuter cron comme ceci :
protected function schedule(Schedule $schedule) { $schedule->command('backup:run')->dailyAt('03:51'); }