PostgreSQL vs MySQL Performance: Real Benchmarks Compared
Last updated: 7 November 2026. See the update log at the end."Which is faster, PostgreSQL or...
Cron schedule
The cron expression for on the last day of every month is:
0 23 28-31 * *
Standard cron has no "last day" value. Run on days 28-31 and let the command check that tomorrow is the 1st, or use Laravel's ->lastDayOfMonth(), which does that check for you.
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 | at minute 0 |
| Hour | 23 | at 23:00 |
| Day of the month | 28-31 | from 28 to 31 |
| Month | * | every month |
| Day of the week | * | every day of the week |
In your time zone. Change the expression to try another schedule.
Next runs
Examples
Add it with crontab -e over SSH. Replace the path with your script; the redirect keeps cron from emailing you the output.
0 23 28-31 * * /path/to/command >> /dev/null 2>&1
Define the task in routes/console.php (Laravel 11 and 12):
use Illuminate\Support\Facades\Schedule;
Schedule::command('reports:send')->lastDayOfMonth('23:00');
Then add the scheduler's single crontab entry once; it checks every task each minute:
* * * * * cd /path/to/your-app && php artisan schedule:run >> /dev/null 2>&1
0 23 28-31 * *./usr/local/bin/php /home/user/app/artisan schedule:run.It runs on the last day of every month. The five fields are minute, hour, day of the month, month and day of the week; the table above explains each one.
In routes/console.php: Schedule::command('your:command')->lastDayOfMonth('23:00'); and add the single crontab entry * * * * * cd /path/to/app && php artisan schedule:run >> /dev/null 2>&1.
The server's time zone (check it with date in SSH, or ask your host). Laravel uses the timezone in config/app.php, and you can set it per task with ->timezone('Europe/London').
Last updated: 7 November 2026. See the update log at the end."Which is faster, PostgreSQL or...
Last updated: 5 November 2026. See the update log at the end.In a normal PHP-FPM request,...
A slow Docker build usually has one of a few causes: you are sending far more...
We use cookies to improve your experience and analyze traffic. By continuing, you agree to our Privacy Policy.