I have a Laravel project v8 and I have created a cron job for database backup
It works every minute, but when I specify the time of day, it doesn't work.
The project time zone is "Asia/Kolkata" and my GoDaddy shared server time zone is 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'); } }
My cronjob on Cpanel.
P粉0578693482024-03-29 14:22:49
Replace your 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'); } }
After this, set the cronjob on Cpanel and the time you want it to execute
Check the given time in cpanel, cron will definitely work
P粉2327937652024-03-29 13:40:39
You can run cron like this:
protected function schedule(Schedule $schedule) { $schedule->command('backup:run')->dailyAt('03:51'); }