Having a good backup solution in place should be paramount for any website, after all there are so many things which could occur which bring your site out of action – it makes sense to have a fall-back should the worst happen. Today we are going to explorer a simple to setup, but very effective method of automating backups of your precious WordPress site using freely available tools.

Say Hello to BackUpWordpress

As backups is a very common field for WordPress, there are no shortage of excellent plugins out there which can take the headache out of ensure you site is safe. We are going to use an excellent free plugin which you can download free of charge, BackUpWordpress.

BackUpWordpress covers the basics of what you need, which means it can work on pretty much any hosting environment regardless of its resources (GoDaddy, im looking at you!)

To begin, download and install the plugin from the repository (we have an excellent guide for this here) – once installed, head over to the settings area under Tools > Backups in your WP admin.

backup1

Once at the settings page, you will be greeted by a simple are where you can setup backups based on whatever scedule you wish – we recommend at least once a day however this is up to you. To begin entering you chosen settings, hit the settings link available.

backup2

Once you have set things up as you like, we recommend hitting ‘Run Now’ to ensure the process runs smoothly on your server – please note, this can take some time depending on your hosts.

Restoring A Backup

BackUpWordPress saves a complete mirror copy of your site files and/or database and the process of restoring can seem a little tricky for anyone who is not familiar with phpmyadmin etc, but this should help.

First, you need to grab a copy of your backups so if you still have access to your WP admin area go to Tools – Backups. This will take you to the Manage Backups page. The Manage Backups page will let you select from all of your backup schedules. You should click on the schedule that you require. All your backups for the schedule will be listed in date order. Select the latest backup from the top of the list and click on the Download link to save it locally.

Screen Shot 2015-03-09 at 15.15.39

Or you can connect to your site via FTP – Look for the wp-content folder and inside it you will find a folder called backups containing zip files of all the latest backups named by backup date. Select the latest backup file and transfer a copy locally.

Unzip

Once you have a zip file of the latest backup saved locally, unzip the files. In OS X, you can simply double-click on the file. In Windows, you can use an archiving tool to extract the backup file (there are many available for download on the internet). The unzipped file will contain your database file (ending .sql), your sites files or both, depending on how you have configured the BackUpWordPress settings. The default setting is for both database and site files to be backed up.

Restore your files

The backup site files consist of three folders called wp-admin, wp-content and wp-includes plus a number of php files and a .ht access file. You will need to upload the site files to your site and overwrite the existing files. This can be done via FTP using the file manager provided by your hosting company panel or via an FTP or SFTP client (such as Filezilla for PCs or Transmit for Mac). Make sure you choose to replace the existing files with the new ones. If you are restoring your site after a hack or virus attack it is better to delete all the site files prior to uploading the new files in case additional files have been added.

Restore your database

You will then need to import your database. This should automatically overwrite the old tables. There are a number of different ways that this can be done:

  • Using a tool such as phpMyAdmin. This and similar tools are usually available via your hosting company panel.
  • Using a desktop tool.
  • MySQL commands via the command line prompt.
  • For more information see WordPress codex article on restoring your database from backup.