I have a Laravel scheduler configured to run every 6 hours. Based on the schedule, it should have already executed, but I don’t see any expected results or changes from it.
I also added a logger() call inside the scheduler to verify if it’s being triggered, but after checking the logs, there’s no log output at all.
Has anyone experienced this issue before?
What should I check to ensure that the Laravel scheduler is actually running?
<?php namespace App\Console\Commands; use App\Models\Booking; use Illuminate\Console\Command; use Illuminate\Support\Facades\Log; class ExpireBookings extends Command { protected $signature = 'expire:bookings'; protected $description = 'Command description'; public function handle() { Log::info('[ExpireBookings] Cronjob started at '.now()); $expired = Booking::where('status', 'pending') ->where('expired_at', '<', now()) ->update(['status' => 'expired']); Log::info("[ExpireBookings] Total bookings expired: {$expired}"); } } Additional Info:
Laravel version: 11
My scheduler is running well in local environment
Server: AWS EC2
Cron is already set with the command:
* * * * * php artisan schedule:run
Every 6 hours my Scheduler running.


* * * * * cd /var/www/myapp && php artisan schedule:run >> /dev/null 2>&1and then set when to run schedule onroutes/console.php