This indicates a problem with the scheduler within your WordPress installation. (“Backup Now” starts the backup without the scheduler, but uses the scheduler to schedule resumption of the job in case it needs more than the amount of time that the webserver allows in one go). As such, it will affect any scheduled backup plugin that you try – as well as various other tasks that WordPress and other plugins schedule internally.
Note that this article is about problems where (in the case of a scheduled backup) literally nothing happens (other than the message indicating that a backup was scheduled). In the case of a “Backup Now” backup, it is the case where the backup starts, but after stopping never starts going again. (You can tell this by reading your log file and seeing if the last lines begin with (0) or if there are any with other numbers. (Leave it for 10 minutes with nothing happening before checking this, as resumptions do not occur until a few minutes later)).
Note also that if pressing “Backup Now” works completely, but your scheduled backups do nothing, then you probably still have this problem – in the latest versions of UpdraftPlus, UpdraftPlus has various tricks to help things along as long as the UpdraftPlus settings page is open in your web browser (which is the case when you press “Backup Now”).
Now, what can cause this problem?
1. Maintenance mode?
Firstly: is your website in maintenance mode? This disables scheduled tasks of all kinds – so turn it off first.
2. No visitors?
WordPress’s scheduler relies on the site having visitors. No visitors means that WordPress doesn’t run, and therefore can’t hand over to the scheduled task. If your site is in development, and you schedule a backup run for a time when all the developers are asleep, then that may be the cause for the scheduled task not running. (Read more here).
3. Is your scheduler explicitly disabled?
Perhaps your site has WordPress’s scheduler disabled in the configuration. UpdraftPlus versions 1.6.61 and later will alert you of this; to check manually, look for a line like this in your wp-config.php file (which is found in the root directory of your WordPress install), and remove it (or change true to false, making sure there are no quote marks around false):
define('DISABLE_WP_CRON', true);
In this case, the disabling may be something your web hosting company did intentionally, so be aware that they may re-disable it. Or, it may be something that you did intentionally, and you may have set another means of calling WordPress’s scheduler system, perhaps via your web hosting company’s control panel. In that case, the message about DISABLE_WP_CRON is to be expected – but note that it is then your responsibility to make sure that the scheduler is called frequently enough to process all the jobs scheduled on your site. No scheduled backups will run until the time that you have set the scheduler system to be called (and “Backup Now” backups won’t be able to resume if they require resumption).
Also – note that it’s possible for DISABLE_WP_CRON to be set in a file other than wp-config.php; wp-config.php is simply the most likely (99%) place. If you have a warning about DISABLE_WP_CRON, but it is not found in wp-config.php, then it will be somewhere else – you will need to hunt for it.
4. Loopback connections are not working?
Some web hosting providers (one big one: Heart Internet) purposefully (though for no good reason) disable the “loop-back” connects that allows WordPress to run its scheduler. This is also the case if your website is password-protected. If loopback connections are not working (whether deliberately disabled or not), you can try this use WordPress’s alternative scheduling system – instructions here. The instructions amount to one thing: add a line anywhere in the middle of your wp-config.php file as follows (don’t add it too late in the file, or it will take no effect):
define('ALTERNATE_WP_CRON', true);
5. Try using a cron job
If your web hosting company gives you “shell” access and you can set up cron jobs, and if you are confident/skilled enough to use that, then that’s a great solution. Jobs run that way won’t face any time-out issues imposed by the webserver. Read more about running via the shell here.
6. Is your entire website password-protected?
Another cause is if your entire website is password-protected at the HTTP level (e.g. via a .htaccess file). This also prevents WordPress’s scheduler from working. You should configure your webserver to allow “loop-back” connections (i.e. connections to self), otherwise you WordPress scheduler and everything that depends upon it will be broken. If you are using Apache and .htaccess, then adding these two lines to the access control section of your .htaccess should work – after replacing a.b.c.d with your website’s IP address):
Allow from a.b.c.d Satisfy Any
Please note: The above suggestion is just a suggestion. .htaccess configuration is a very big subject. UpdraftPlus neither “supports” nor “doesn’t support” different .htaccess configurations, because .htaccess files operate at quite a different level to WordPress plugins. If you enter the correct instructions in your .htaccess file to permit access, then UpdraftPlus will work. But if you are not sure of the correct instructions for your particular server, then you need to consult with either your web-hosting company or your local .htaccess guru.
7. Still no good?
If the scheduler’s brokenness remains and is not caused by one of the above reasons, then the problem is almost certainly with your web hosting provider. If the alternative scheduler also fails, then you need to either contact your web hosting company for support (ask them if loopback connections work, and if not, if they can enable them); or failing that find a different web hosting company. If they confirm that loopback connections are disabled and say that it is necessary for security, then this is nonsense. (A website connecting to itself can do nothing more or less than anything else connecting to the website can). In such a case, you will need to find a new hosting company in order to use any scheduled task (including UpdraftPlus) within WordPress.
Posted in: Backing up