

Anatomy of the page
| Section | What it does |
|---|---|
| Cron Email (top) | Email address that receives any output the job produces. Set this once. |
| Add New Cron Job | The form for building a new schedule and command. |
| Current Cron Jobs (bottom) | List of jobs already scheduled. Edit or delete from here. |
Add a cron job
Pick a preset from Common Settings
The dropdown sets all five timing fields at once. Useful presets:
| Preset | Schedule |
|---|---|
| Once a minute | * * * * * |
| Every 5 minutes | */5 * * * * |
| Every 15 minutes | */15 * * * * |
| Once an hour | 0 * * * * |
| Once a day (midnight) | 0 0 * * * |
| Once a week (Sunday midnight) | 0 0 * * 0 |
Or fill the timing fields by hand
Five fields: Minute, Hour, Day, Month, Weekday. Each accepts:
- A number:
15(the 15th minute, hour, day, etc.) - A range:
1-5 - A list:
0,15,30,45 - A step:
*/10(every 10 minutes) *for “any value”
0 2 * * * is “minute 0 of hour 2, every day”, which means daily at 2:00 AM server time.Paste the command
Anything that runs in your shell. The command runs as your cPanel user, with your account’s PATH.A few examples:Replace
USER with your cPanel username.Common cron uses
WordPress: replace wp-cron.php with system cron
WordPress’s built-inwp-cron.php runs on every page request, which is wasteful on busy sites. The fix is two-step:
Laravel scheduler
Laravel ships with a single cron entry that handles all the app’s scheduled tasks. Schedule:* * * * * (every minute).
Command:
schedule() definitions in app/Console/Kernel.php decide which tasks actually run.
Daily backup script
Schedule:0 3 * * * (3 AM daily).
Command:
Pitfalls
My cron isn't running
My cron isn't running
Most common cause: the command’s PATH doesn’t match your shell PATH. Cron uses a minimal PATH by default, so
php (without a full path) often isn’t found. Always use the full path to the binary: /usr/local/bin/php for cPanel-managed PHP, or /opt/cpanel/ea-php83/root/usr/bin/php for a specific PHP version.Other things to check: file permissions on the script (chmod +x backup.sh), the script’s shebang line, and that the working directory is right (cd into it first if your script reads relative paths).I'm getting cron output emails I don't want
I'm getting cron output emails I don't want
Two options. First, redirect output to
/dev/null in the command itself:>/dev/null drops stdout, 2>&1 drops stderr too. Most production crons do this.Second, clear the Cron Email field at the top of the page to disable email entirely for all jobs. Less surgical, but if you don’t care about any cron output, simpler.The cron uses the wrong PHP version
The cron uses the wrong PHP version
Cron jobs use the system default PHP (
/usr/bin/php), not your cPanel-selected version. To use the version you set in Select PHP Version, use /usr/local/bin/php (the cPanel wrapper). To pin a specific version, use the absolute path: /opt/cpanel/ea-php83/root/usr/bin/php (replace 83 with 82, 81, etc.).The cron behaves differently from when I run the same command in the browser
The cron behaves differently from when I run the same command in the browser
Browser and cron run with different environment variables, working directories, and (often) PHP versions. Cron has no
$_SERVER, no $_REQUEST, and getcwd() returns your home directory unless you cd first. If your script depends on web-only globals or relative paths, fix the script to handle CLI mode.Two crons of the same job started running at the same time and broke things
Two crons of the same job started running at the same time and broke things
Long-running cron jobs can overlap if a single run takes longer than the schedule interval. Wrap with
flock to prevent overlap:-n means “skip this run if the lock is held”. The lock auto-releases when the previous run finishes.What's the minimum interval I can schedule?
What's the minimum interval I can schedule?
One minute. The cron syntax doesn’t support sub-minute intervals. For higher-frequency tasks, write a long-running script that loops with
sleep and run that from cron once a minute, or look at supervisord for proper process management.
