A cron job is a scheduled command that your server runs automatically at a specified interval. Nightly database backups, weekly log cleanup, daily report emails, and WordPress scheduled events are all cron jobs running in the background on most Canadian hosting servers. Understanding how to create, manage, and troubleshoot them gives you control over your server's automated behaviour and prevents a category of problems that are common but not immediately obvious when they fail silently.
Cron syntax
A cron entry has five time fields followed by the command. The fields are: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-7). An asterisk in any field means every value. Common examples:
0 3 * * * # 3:00am every day 0 3 * * 0 # 3:00am every Sunday */15 * * * * # every 15 minutes 0 0 1 * * # midnight on the 1st of each month
On a Canadian server, be aware of daylight saving transitions if using local time. For critical tasks, add CRON_TZ=UTC at the top of the crontab to use UTC time and avoid DST surprises.
Creating cron jobs in cPanel and Webuzo
In cPanel, go to Advanced, then Cron Jobs. In Webuzo, Cron Jobs is under System. The command must be the full path to the executable or script. Instead of php myscript.php, use /usr/bin/php /home/username/myscript.php. Find the correct path with which php. Always use absolute paths in cron commands because the execution environment does not have the PATH variable set to include common binary locations.
WordPress cron and its limitations on shared hosting
WordPress has a built-in cron system that triggers scheduled events when a visitor loads a page. This works for sites with consistent traffic but fails silently on low-traffic sites where nobody visits for hours. The fix: disable WP-Cron's automatic triggering with define('DISABLE_WP_CRON', true) in wp-config.php, then add a real system cron job:
*/5 * * * * /usr/bin/wget -q -O /dev/null https://yourdomain.ca/wp-cron.php?doing_wp_cron
Troubleshooting cron jobs that are not running
Capture output to a log file to see errors: append >> /tmp/cronjob.log 2>&1 to the end of the cron command. Common causes of failure: wrong script path, script not executable (run chmod +x), wrong PHP binary path, or the script assumes a working directory not available in the cron environment. Add cd /path/to/dir && before the command to set the working directory explicitly.
Gotekky
Need help deciding what to do next?
Tell us what you are seeing and what outcome you need. We will identify whether a managed service, scoped project or paid technical assessment is the right next step.