Laravel Schedule Jobs
Laravel Cron Job Script
This script is designed to run a Laravel artisan command to update the status of family distributions at regular intervals. The script logs the execution time and then runs the specified artisan command.
Script Overview
The script performs the following actions:
- Logs the current date and time when the cron job is executed.
- Runs a Laravel artisan command to update the status of family distributions.
Script: laravel.sh
#!/bin/bash
echo "Cron job executed at: $(date)" >> /tmp/laravel_cron.log
sudo /usr/bin/php8.3 /home/madhan/madhan/Projects/jbf/jack-brewer-cms/artisan familydistribution:update-status
Setting Up the Cron Job
To set up this script to run as a cron job:
- Make the Script Executable
Ensure the script has execute permissions:
chmod +x /usr/local/sbin/laravel.sh
- Edit the Crontab
Open the crontab file and add the following line to schedule the cron job.
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
* * * * * root /usr/local/sbin/laravel.sh >> /tmp/laravel_cron_test.log 2>&1