After months of work weve released version 2.0 (2.0.1) of BackUpWordPress our awesome WordPress backup plugin. This version has a huge number of under the hood improvements as well as some oft-requested new features.
With BackUpWordPress 2.0 you can create as many separate schedules as you need. In BackUpWordPress 1.x you could have your backup run automatically, either every day, every week or every month; but there was no way to say backup your database every day but your files every week. This was the main target feature for 2.0 and were really pleased with how its turned out. For people who install BackUpWordPress without upgrading from an older version, 2 schedules will now be created by default:
By default BackUpWordPress now backs up your database every day and only creates a complete backup once per week.
If you’ve upgraded from an earlier version of BackUpWordPress then your existing settings and
defineswill be used to create a new single schedule. You can of course create other schedules and remove the default schedules if you don’t want them. Each schedule has it’s own settings and list of excluded files, so you could have a database backup run every hour and have that emailed to yourself and then have a backup of just your uploads folder run once per day and then a complete backup run once per week. You can even create schedules which don’t run automatically.
That leads nicely onto the second area of BackUpWordPress that has seen the most improvement, the process of adding and managing your exclude rules. In BackUpWordPress 1.x adding exclude rules was fiddly and error prone and there was no way to tell what your exclude rule was matching without downloading a backup file and checking what it contained. Excludes have been completely overhauled in 2.0 and the result is a system which is both powerful and easy to use.
Firstly, you can now see at a glance a complete list of which files and folders will be included in your backup, excluded from it and if there are any, files and folders which are unreadable (because of server permissions) and thus can’t be backed up. This makes it really simple to see what you should be excluding, is your included files list full of
.git/files? Now you know to exclude them.
Adding new exclude rules has also been dramatically improved, no more entering comma separated lists of rules. Now when you add a new exclude rule you get a preview of all the files and folders it matches, you can tweak the rule until it is only matching the things you want and then add it. You also get instant feedback as to how the size of your backup will be affected by your exclude rules.
Under the hood improvements
Significant improvements have been made to the memory efficiency of the backup engine, it should now be possible to perform backups on servers which have low
memory_limit‘s and which don’t allow the
memory_limit to be increased. I successfully backed up a 10GB site on a server with only 32MB of ram. This doesn’t work in all situations, for example if you have files that are larger than your memory_limit and your server can’t use the
zip command via
execthen you’ll hit your limit. Excluding those large files will be enough to get the backup working.
The original version of BackUpWordPress allowed several advanced settings to be overridden by defining constants in your
wp-config.php file, with the addition of multiple schedules some of these no longer make sense, the following Constants have been removed and will no longer do anything:
- Fixes a possible fatal error on sites running <
PHP 5.3which we’re runing in a directory that was the root allowed directory on an open_basedir setting.
- Fixes issues with downloading backups on servers running IIS & nginx.
- Fixes issues with sites with UTF-8 characters in their Site Title.
- Backups should no longer appear to run forever if they hit a fatal error.
- You are now asked to confirm destructive actions like delete backup.