Creating a backup of your website regularly is not a luxury. A backup allows you to quickly be back online when disaster strikes. With a full backup at hand, you have a copy of your entire website to fall back on. The less “downtime” the better! It could be the best investment you ever made!
Utility and need
Making backups is not the most favorite pastime of an administrator. Most of the time nothing will be done with the backup you’ve made. Which means nothing terrible has happened to your website!
WordPress is the most used cms in the world. Because of that popularity it has become a great target for people that have a different idea about using your website. These can harass your site with malware, code injections and you name it. You may expect enough protection by your webhost, but there is no guarantee. Of course you have installed something like Shield to protect your website. But if all protection fails, you have to be able to fall back on a backup. It is one thing to be technically protected, it is also necessary to protect yourself against the loss of content?!
Not only external threats are a reason to backup your website. Whenever you make changes to your website, especially technical changes or working directly on the database, you can always make fatal mistakes. Also your web host can suddenly decide to pull the plug. And last but not least: you can use a backup to move your website to another provider!
When to make a backup?
The frequency of making backups is entirely dependent on how often the content of your website changes. And content in this case not only means what you have written, but also the versions of WordPress plugins and themes. It is good practice to make a backup before any structural change you make. Should something go wrong with updates for instance, you can easily fall back on a backup. The structural changes went well? Then once again back up the actual situation!
Do you write many posts? Are you publishing posts on a daily basis? Just make sure to take a daily backup. If something goes wrong and you have to use a backup, you won’t lose more than a days work. Tip: Write your posts in a text editor first and save them on your computer before you publish it on your website. If a very recent post wasn’t backed up, you still have the rough version.
Ways to backup
There are several ways to create a backup:
- Manually from cPanel or DirectAdmin. With phpMyAdmin you can backup your database. With the file manager you can copy the entire system to your own computer.
- Automatically on your hosting account. Various web hosts provide an automated backup process.
- With a plugin.
A good webhost makes backups very regularly. You can ask your web host to restore a backup of your website, when needed. Some web hosts charge you for that, and they will not do it right away, when you want it to be done. Also you don’t know how recent the backup is and if it is a full backup or not. There is much to be said for creating and managing backups by yourself.
Create backups with a plugin
This post will zoom in on the last possibility: creating backups with a plugin.
One of my requirements for a plugin was that it creates automatic backups in the background. For Web-ID and some other websites, after testing several similar plugins, I have chosen for the plugin BackWPup. This meets my needs and requirements and has only one drawback: you have to restore the backup manually when necessary. But with some ftp and phpMyAdmin knowledge this should not be a problem.
How does it work?
BackWPup works with tasks. With each task you tell the plugin what kind of backup should be made, where it should be stored, and how often the backup should run and when. These tasks make it possible to split the backup into a few pieces like just the database or just the (core)files. These pieces can each have their own backup schedule!
You can configure a task by clicking on “Add new task” under the menu “BackWPup”.
At “This job is a….” you choose what parts of your website should be in this backup task. Each part also has its own tab. Do you want a daily XML-export and a weekly database backup? Configure two tasks for that, each with their own schedule!
On this tab you can determine where to send the backup and with which archive format. You can have the backup put in a folder on the web server. But you can also have it send to Dropbox, Sugarsync, your email and a few other cloud storages.
BackWPup offers a few different methods to start the backup task: manually, by using the WordPress-cron or EasyCron (API key required) or with a link to the task. I use the WordPress-cron on my sites and have the backup sent to Dropbox and it’s working like a charm!
When you decide to use the cron-options and automate the backup task, you can schedule when you want the task to be executed: every hour, every day, every week or every month. Next you can set the time. BackWPup has a basic and an advanced scheduler. Try to set up the backup task to start on a moment when you expect low traffic.
On this tab you can choose which tables to backup from the database. After that you can give the backup file a name and if you want the file to be zipped. There is no reason to backup only a part of the database. It can only complicate the restore of the backup.
On the files tab you can set up which files and folders of your WordPress install you wish to exlude from the backup task. If you are not sure which folders to exclude, just keep the standard options. If you want to use the task to be able to do a full restore or to move to another web host, you don’t exclude anything.
If you are not sure these files will be in the backup, check the option “Include special files”.
Would you like to backup more than your WordPress install? Like when you have more WordPress installs on the same hosting account? Check the option “Use one folder above as WP install folder”. After you save the changes, you get to see all the folders that are located one folder above your WordPress install. Select the ones you want to exclude and save the changes.
The uploadsfolder can be very big, because all the mediafiles are stored in that folder. You can choose to create a different task for this folder only, with a different schedule and/or a different storage location.
You can only see this tab if you chose to make a XML-export. Have you ever used the export-function under Tools? This does the same!
You can only see this tab if you chose to make a backup of the plugins. The only thing you can set here, is the name of the list of plugins that will be created. That’s all this option does: create a list of plugins you use. The plugin folders and files themselves will be in the folders backup, all the settings are in the database backup.
If you like, the database tables can be checked and repaired if necessary.
On this tab you can set the destination folder of the backup. For cloudstorage you can have the plugin authorized here. Finally, you dertermine on this tab how many backup files should be kept in the destination folder.
Testing the backup task
After you have set up the backup task, you need to test the task. You want to be sure the task does all the things you set up. You also want to be sure that the files are stored where you want them to be stored. You can manually start the task.
To start a task manually you go to the tasklist, choose the task you want to start and click on “Run now”. Wait until the task is done and check the results.
Did you create a scheduled task? Check after the moment the task should have run to see it really did so. Also check the destination folder for the backupfiles.
Everything set up and running well? Then you have hardly anything to worry about. Keep checking periodically that the backup has been running as planned. Should anything go wrong with the backup task, you automatically receive an e-mail.
After setting up this plugin correctly and when you are sure all tasks run according your wishes, you will always have a recent backup of your website. It doesn’t protect you against attacks and mistakes, but it gives you the possibility to restore your website within minutes if something went wrong.
Was this tutorial useful to you? Did it encourage you to do the least popular thing in maintaining your website? Do you have another method to backup your website? Please let us know!