Deployment Learning

Backup for WordPress

Backups are essential to any systems. Especially if it’s data that cannot be easily downloaded again, like a blog. Even though I should really employ a system-wide backup for my server, I’m still finding the most cost-effective and efficient way of making it happen.

In the meantime, I decided to backup on application basis while figuring out the best solution. Enter BackWPUp

BackWPup – WordPress Backup Plugin

Based on my research, it’s by far the best “free” plugin you can use to manage most of your backup needs. It’s “free” because there is a pro option, just like most of the other “free” backup plugins out there. BackWPUp is great because it’s not crippled like the rest.

The free version allows you to do a manual/scheduled full-site backup to multiple locations such as

  • FTP
  • Email
  • Local Folder
  • Dropbox
  • Azure
  • SugarSync
  • Rackspace
  • S3

There are also options for what DB tables to backup, what folders to exclude. It’s simply a solid plugin. The pro option unlocks more backup options like AWS Glacier, GDrive, and more advanced options if you really need them. This is good enough for me for the time being.

This is also great because it supports WordPress Multisite configuration, which is what I have running. I can run this as the super admin and backup all the sites together at once, saving me a heck lot of time.

As for the backup itself, I went with the FTP option as I’m a cheapskate, and having a NAS is pointless if I don’t make full use of it. Created a job, ran it, and voila! It appeared on my NAS like magic.

Zip backup of WordPress

Opened the archive and sure enough, it has the entire WordPress installation on it. The entire backup only took 72 seconds and I’m really pleased with the performance.

— Update @ 11:15pm —

Since I took the AWS architecting course a couple months ago, I felt like it would be a waste not to experiment with S3 storage. Within this short amount of time, AWS has updated their interface again, thankfully, it actually made things easier to configure, and they recommend good security defaults.

After tinkering with IAM Users, Security groups and attaching a policy to the group, I finally got a specialized access token for the plugin, granting it API access to my S3 buckets. So I re-ran the backup…

AWS: Encrypted backup as easy as that

— End update —

Which begs the question, how can I restore from it?

The Caveat

This plugin currently doesn’t support restore functions.  What?!

Yup, there’s currently no way to restore natively from the plugin. They are currently testing it in beta so maybe it’ll work in the future but I wouldn’t put my money on it.

In order to restore from the backup, it’s more of a server level operation rather than application level. The backup preserves the entire WordPress installation folder, so you simply have to FTP in, and copy in the entire backup. Then go to the SQL server, and import the whole damn database backup.

I definitely have to test this out one day to see if I can restore this entire installation onto another machine. What’s worse than not backing up, is realizing that your backups don’t work.

Leave a Reply