wordpress security logoWordPress backup plugin should be part of each and every blog install to ensure successful disaster recovery. In fact I consider WordPress database backup as well as unique files to be absolutely crucial part and it is the last part of concept I have pioneered and explained in “Triple ‘P’ of Total WordPress Security

But with multitude of options available – What WordPress backup plugin should you use? Which one will be the best option for you?

In this post I want to go over couple plugins I have personally use successfully and will show you How To Backup WordPress automatically and ensure you can recover your blog IF disaster strikes and your blog becomes a victim of a hack.

When it comes to plugins that provide you with backup functionality you have multitude of options but today I will concentrate on 2 very specific plugins, not only because of the simplicity they offer but also because i have tested them personally and KNOW they produce the results, at least in standard host configurations…

My goal here is NOT to overload you with options and choices but give you information you can use – right now!

WordPress Database Backup Plugin

A solid performing plugin I have used on my blogs for at least couple of years. It does one thing and does it exceptionally well – creates a full database backup and gives you options to either store it locally, get a direct download or email it to you.

Obviously our goal is automation so email backup makes most sense and I personally use a dedicated gmail account that allows me to store large amount of data for free and most importantly – gives me access to daily backup no matter where disaster might find me!

If I need to restore database to previously working good configuration all I have to do is login into my gmail account, download “last known good” backup and restore it using phpMyAdmin. I teach the entire process in both “Lock Your Blog (free digital access) and “Expert WordPress(members core training).

I recommend you also use a scheduled backup option, just be advised – anytime you add new plugins that create their own database tables – you need to revisit configuration and be sure to include it into daily backup!

I highlighted option in image below, you can find them under Tools->Backup menu:

I love this plugin for peace of mind it provides but you have to be aware that it only does WordPress Database backup, just as it name states and you are still left with manual work backing up important files from your blog.

Second plugin I want to talk about is also free but gives you pretty much complete solution, if you configure it correctly…

BackWPup Plugin

I have tested this plugin on both single standalone blog as well as latest WordPress 3.0.1 Multi-Site configuration. Once you install the plugin, and it could be done as always by simply searching for term through your admin panel, you need to configure its options.

By default it does a very good job of determining your blog host important information, such as location of files, your administrative email, etc., but I recommend you do some tweaking in at least a few places under Tools->BackWPup menu:

Change, if necessary sender email and sender name – you want to be sure you can easily recognize it.

Once you have configured general settings – you need to actually create the backup job and schedule it:

Once you click “Add New” you will be provided with interface to configure all available options. I will cover configuring your blog to be backed up to Amazon S3, as it provides super cheap storage and it is accessible to you from ANY place in the world, as long as you have internet connection. To me it makes most sense and this is how I personally tested it.

I will show below configuration options I used on one of my MU blogs and explain them, so you could make decision on what fits your needs.

  1. Your backup job name, something that identifies it uniquely
  2. Database tables to exclude – an option available to you although it makes no sense to exclude anything as you are trying to create a backup you can use to restore your blog
  3. Job Type – I personally use WordPress database backup and WordPress files backup as it gives me everything I need to restore my blog back to full working configuration if something happens.
  4. Job Schedule – this is where you pick time of the day for job to run and also how often to run it. I prefer to do it right around midnight and daily.
  5. File Backup options – you are provided with list of WordPress folders to include into backup and right below it – EXCLUDE options. It is important to understand that by placing a check mark into those fields will tell plugin NOT TO BACK it up. And as you can see for nightly backup I choose not to backup a lot of folders, but that s because I choose to run complete backup on less frequent schedule as separate job.
  6. If you have any custom folders you are provided with option to include them into back and also option to exclude some specific files or folders. “error_log” generated by Apache is a great candidate for exclusion.
  7. Backup file template name – something that will uniquely identify which blog this backup is coming from.

In next screenshot we will discuss your “backup to” options. I will concentrate on Amazon S3 but important note here – everything else you are not going to use – delete all default data, to avoid creating backups where you are not intended, such as “Backup to directory”

First you need to provide email address where the log will be sent to – I recommend you do not choose to send email only on errors – you need to be aware that your backup job is running properly and doing its job.

Next – delete ALL text except in what you need, in case above, Amazon S3 Backup Options.

Fill your Amazon S3 Access Information, choose a bucket to store your backup into (choices will be provided as soon as access info verified by plugin), and choose storage options.

My Recommendation for Backing WordPress Up To Amazon S3

  1. Create 2 different buckets – one for nightly backups of ONLY the files you know could be changed and database. Exclude all the non-changing directories, such as wp-admin, includes, plugins, themes, etc. Use second bucket for Weekly or Monthly backups and store COMPLETE blog backup there
  2. Create 2 different jobs – one for nightly as discussed above and one for full backup, using whatever schedule fits you.

Using strategy above you can have a full backup storing only 2-3 files to save on storage expenses and yet giving you opportunity to recover your blog quickly and nightly backup that will contain any changes, consider it incremental backup.

IMPORTANT: both plugins I mentioned above provide only backup files and while second one gives you option to restore database – I do it always by hand. Not because I don’t trust them – I just prefer it that way.