skip to Main Content

I have a Laravel project v8 and I have created a cron job for DB backup

It’s working every minute but it is not working when I specify the time for daily.

Project timezone is ‘Asia/Kolkata’ and my GoDaddy shared server timezone is UTC.

kernel.php

<?php

namespace AppConsole;

use IlluminateConsoleSchedulingSchedule;
use IlluminateFoundationConsoleKernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * Define the application's command schedule.
     *
     * @param  IlluminateConsoleSchedulingSchedule  $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.

enter image description here

2

Answers


  1. Replace your kernel.php

    <?php
    
    namespace AppConsole;
    
    use IlluminateConsoleSchedulingSchedule;
    use IlluminateFoundationConsoleKernel as ConsoleKernel;
    
    class Kernel extends ConsoleKernel
    {
        /**
         * Define the application's command schedule.
         *
         * @param  IlluminateConsoleSchedulingSchedule  $schedule
         * @return void
         */
        protected function schedule(Schedule $schedule)
        {
            $schedule->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');
        }
    }
    

    And after this set cronjob on Cpanel with the time on which you want to execute

    Check that the given time in cpanel the cron will work definitely

    Login or Signup to reply.
  2. You can run cron like this:

    protected function schedule(Schedule $schedule)
    {
         $schedule->command('backup:run')->dailyAt('03:51');
    }
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search