
The Blesta cron job is the most important setting in your whole Blesta install, and the easiest one to get wrong without noticing. Almost everything Blesta does on its own depends on it: creating invoices, sending reminders, suspending unpaid services, charging saved cards, and running plugin tasks like uptime checks. If the Blesta cron job isn’t running, nothing breaks loudly. Invoices just quietly stop going out. Here’s how to set it up properly in cPanel, how to tell it’s working and how to fix it when it isn’t.
What the Blesta Cron Job Does
A cron job is a command your server runs on a schedule. Each time the Blesta cron job runs, Blesta checks which of its tasks are due and runs only those. Some tasks run once a day at a time you choose, like invoicing and suspensions. Others run on a shorter interval, like many plugin tasks. Blesta’s installation docs say the cron job should run every minute, and Blesta decides internally what’s due.

That’s why the schedule looks so frequent. Running every minute doesn’t mean invoices go out every minute. It means Blesta gets a chance every minute to do whatever is due, so nothing waits longer than it should.
Step 1: Copy the Cron Command From Blesta
In the Blesta admin, go to Settings > System > Automation. The Cron Command box shows the exact Blesta cron job command for your server, with your real file path filled in. It looks like this:
* * * * * /usr/local/bin/php -q /home/USERNAME/public_html/blesta/index.php cron > /dev/null 2>&1
The * * * * * part is the schedule (every minute). Everything after it is the command. The > /dev/null 2>&1 at the end throws away the output, so cPanel doesn’t email you every minute.
Step 2: Add the Blesta Cron Job in cPanel
- In cPanel, open Cron Jobs.
- Under Common Settings, choose Once Per Minute (* * * * *). This fills in all five time boxes.
- In Command, paste only the command part, starting at
/usr/local/bin/php. - Click Add New Cron Job.

Step 3: Use the Same PHP Version as Your Site
This is the step most guides skip. On cPanel servers, /usr/local/bin/php is the server’s default PHP, which isn’t always the version your site uses. If your Blesta site runs PHP 8.3 but the default is something else, the Blesta cron job can fail even though the site works fine in the browser. That’s especially likely with ionCube-encoded plugins, which are encoded for a specific PHP version.
Check your site’s version in cPanel under MultiPHP Manager, then point the cron at that exact version. On cPanel’s EasyApache 4, PHP 8.3 is usually at:
/usr/local/bin/ea-php83 -q /home/USERNAME/public_html/blesta/index.php cron > /dev/null 2>&1
Once it’s saved, your Blesta cron job appears in the Current Cron Jobs list like this:

Step 4: Confirm It’s Running
Wait a couple of minutes, then go back to Settings > System > Automation. The status icon should be green, with a last-run time from the last minute or two. You can also click Run Cron there to run it by hand and see the output, which ends with “All system tasks have been completed” when everything is fine.
Plugins with their own scheduled work often show their last run too. For example, Caddie for Blesta shows “Last monitor run” on its License page, so you can see the Blesta cron job is reaching it.
Choosing When Daily Tasks Run
Even though the Blesta cron job runs every minute, daily jobs like invoicing and suspensions run once a day. Set their times under Settings > Company > Automation. Plugin tasks appear there too, so you can see, change or switch off things like a plugin’s monitoring task. Pick a time when someone can deal with any surprises, such as mid-morning, rather than the middle of the night.
The Web Cron Option
If your host doesn’t allow command-line cron jobs, Blesta can be triggered by visiting a cron URL with a secret cron_key. The key isn’t set by default; create it with Update Cron Key on the System Automation page. Blesta recommends the command-line method when you can use it, and so do we. A web cron depends on the web server responding quickly, and it can time out on a busy day.
What Happens When the Blesta Cron Job Stops
Nothing obvious, which is the problem. Your site keeps working and clients can still log in. But behind the scenes:
- Renewal invoices aren’t created, so clients aren’t billed.
- Reminders and overdue notices don’t go out.
- Unpaid services aren’t suspended, so you keep hosting people for free.
- Saved cards aren’t charged.
- Plugin tasks stop, so things like uptime alerts go quiet.
It’s worth glancing at the last-run time once a week, and any time you change servers, PHP versions or file paths.
Troubleshooting a Blesta Cron Job
- Status stays red. Check the path in the command matches your install exactly, and that you didn’t paste the
* * * * *into the Command box. - It runs by hand but not on schedule. Usually the PHP version issue in Step 3.
- A plugin’s task never runs. Check it’s enabled under Settings > Company > Automation.
- You moved servers. Turn off the Blesta cron job on the old server first, or it will keep billing customers from both. Blesta’s moving guide covers this.
- Want to see errors? Temporarily remove
> /dev/null 2>&1and cPanel will email the output to the cron email address. Put it back once you’ve found the problem.
Frequently Asked Questions
How often should the Blesta cron job run?
Every minute. Blesta handles the timing of each task itself, so running it often doesn’t cause duplicate invoices.
Does each company need its own Blesta cron job?
No. One cron job runs the tasks for every company in the install.
Do plugins need their own cron job?
Usually not. Well-built plugins register their tasks with Blesta, so the main Blesta cron job runs them too. Caddie for Blesta runs its uptime and heartbeat checks every five minutes this way.
Can I run the Blesta cron job from WHM instead of cPanel?
You can add it as root, but it’s better in the cPanel account that owns Blesta, so it runs as that user with the right file permissions and PHP settings.
More Blesta Guides
With the Blesta cron job running, next connect Blesta to cPanel so paid orders set themselves up, or browse all our Blesta plugins and guides.