This article is also available in:

How to set up a real cron job on your hosting for Modular DS

If your backups or updates take too long, stop halfway, or never run at all, it's easy to assume the problem is with Modular DS or your website.


However, in many cases the real cause lies in how WordPress handles its scheduled tasks, and it can be fixed by setting up a system-level cron job.


What WP-Cron is and why it can fail


WordPress includes its own scheduled task system, called WP-Cron. It's in charge of triggering the actions that need to happen at a specific time: publishing scheduled posts, checking for updates, or running background processes.


The catch is that it isn't a real cron job. Instead of running at a fixed time, WP-Cron is triggered when someone visits your website. Each visit checks whether there are pending tasks and runs them at that moment.


This works well on websites with steady traffic. The problem shows up on low-traffic websites: if nobody visits for hours, scheduled tasks are delayed or simply don't run until the next visit.


How this affects your backups and updates in Modular DS


To run backups, updates, and other background tasks, Modular DS first uses your server's loopback connections. These are requests the website makes to itself to launch processes without depending on a visit.


Many hosting providers block or limit these loopback connections. When that happens, Modular DS falls back to WordPress's WP-Cron.


This is where the two problems come together. If your hosting blocks loopback and your website also gets few visits, WP-Cron barely triggers. The result is exactly what you're seeing: backups that never finish, updates that get stuck, or processes that take much longer than they should.


The solution: a system-level cron job


A system-level cron job is a scheduled task that runs on the server at fixed intervals, without depending on your website's visits. If you set one up to call WP-Cron every 5 minutes, you make sure scheduled tasks always run on time, whether your website has traffic or not.


The setup has two parts that go together:


  • Disable the WP-Cron that triggers on visits, so it doesn't run twice.
  • Create a real cron job on your server that calls WP-Cron every 5 minutes.


Important: the two steps are inseparable. If you disable WP-Cron without creating the real cron job afterwards, your scheduled tasks will stop running entirely. Always do both.


How to set it up in cPanel


cPanel is the most widely used hosting panel, so we'll use it as a reference. If your provider uses a different panel, the process is equivalent even if the names change.


1. Disable WP-Cron in wp-config.php


Access your wp-config.php file, either through SSH or cPanel's File Manager. Right after the <?php line, add this line:


define('DISABLE_WP_CRON', true);


Save the changes and close the editor.


2. Create the cron job in cPanel


Log in to your cPanel account and open the "Cron Jobs" application (depending on your panel's language, it may appear translated), in the "Advanced" section.




Create a new cron job that runs every 5 minutes. In cPanel you can select the "Every 5 Minutes" interval from the dropdown menus, or enter the expression */5 * * * * directly. Use this command:


wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1


Replace yourdomain.com with your website's actual domain.



Other hosting providers and your provider's support


Every hosting provider has its own way of creating scheduled tasks. cPanel is the most common, but on Plesk and other panels the process is similar: disable WP-Cron in wp-config.php and create a cron job that calls wp-cron.php every 5 minutes.


If you're not comfortable editing files or creating tasks on the server, you don't have to do it yourself. You can ask your hosting support: tell them you want to disable WordPress's WP-Cron and replace it with a system cron job that runs every 5 minutes. It's a common request and they'll know how to do it.


Once it's set up, your backups and updates in Modular DS should run normally again. If the problem continues, check the rest of the possible causes when making a backup or write to us.





Do you need help with anything else? Email us at help@modulards.com or contact us via the support chat, and we'll be happy to help you.

Updated on: 15/09/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!