Applies to: All plans (cron-job limits vary by plan — see the table below).
Before you start: You need access to your cPanel account (open your service in the client area -> Services -> My Services, then Log in to cPanel) and the exact command you want to run on a schedule. A cron job runs a command automatically at the times you set — handy for WordPress scheduled tasks, database clean-ups, or your own scripts.
Create a cron job
- Log in to cPanel (see How to log in to cPanel).
- Open cPanel -> Advanced -> Cron Jobs.
- (Optional but recommended) Under Cron Email, enter an address where you want output and errors sent. Use a real mailbox you check — your Professional Email address (Microsoft 365 or Google Workspace) works well here.
- In the Add New Cron Job section, set the schedule. The quickest way is the Common Settings drop-down (for example "Once Per Day"), which fills the five timing fields for you. To set an exact schedule, type values into the Minute, Hour, Day, Month and Weekday fields.
- In the Command field, paste the full command to run. Use absolute paths and the correct PHP binary for your account — the simplest portable option is
php /home/USER/public_html/script.php, or call a specific version such as/usr/local/bin/ea-php82if your site needs it. ReplaceUSERwith your cPanel username, and pick the version that matches the one set in MultiPHP Manager. - Select Add New Cron Job.
Result: Your cron job now appears in the Current Cron Jobs list and runs automatically at the times you set. You can Edit or Delete it from that list at any time.
Common schedules
The five timing fields are, in order: minute, hour, day-of-month, month, weekday. An asterisk (*) means "every".
| Schedule | Minute | Hour | Day | Month | Weekday |
|---|---|---|---|---|---|
| Every 15 minutes | */15 |
* |
* |
* |
* |
| Every hour (on the hour) | 0 |
* |
* |
* |
* |
| Once a day at 03:00 | 0 |
3 |
* |
* |
* |
| Once a week (Sunday 02:00) | 0 |
2 |
* |
* |
0 |
| First of every month, 04:30 | 30 |
4 |
1 |
* |
* |
Server time is used, not your local time, so allow for that when picking an hour.
Cron-job limits by plan
Each plan allows a fixed number of cron jobs. When you reach the limit, delete one you no longer need or upgrade your plan.
| Plan | Cron jobs |
|---|---|
| Self-Managed Lite | 5 |
| Self-Managed Plus | 20 |
| Self-Managed Pro | Unlimited |
| Managed Starter | 20 |
| Managed Growth | 40 |
| Managed Business | Unlimited |
To upgrade, see How to upgrade or downgrade your plan.
A note on WordPress cron
WordPress has its own scheduler (wp-cron) that runs when someone visits your site. On a quiet site, scheduled posts or backups can be delayed. The usual fix is to disable the visitor-triggered version in WordPress and add a real cron job here that calls wp-cron.php on a fixed interval (for example every 15 minutes).
Troubleshooting this task
- Nothing runs / no email. Add a Cron Email address (step 3) so output and errors are sent to you, then check that mailbox after the scheduled time passes.
- "php: command not found" or wrong PHP version. Use the full PHP binary path and the version that matches your site. Your active version is set in MultiPHP Manager — see How to change your PHP version.
- Permission denied. Make sure the script path is correct and inside your account, and that any file it runs is executable.
- Job runs at the "wrong" time. Cron uses server time, not your local time zone — adjust the hour accordingly.
- Heavy or frequent jobs cause slowdowns or 508 errors. Very frequent crons can push you over your CloudLinux limits. Run them less often or optimise the script — see Understanding CloudLinux resource limits.
Comments
0 comments
Please sign in to leave a comment.