First Impressions: VaultPress (WordPress Backup)
Three years ago I wrote How To: Bulletproof Server Backups with Amazon S3, a post where I showed off a basic cron job'd script I used to backup my entire server to S3 nightly. I have been using some form of that script since then to backup my blog. Fortunately, I have never had a situation where I needed to completely restore my blog, though it was handy for the few times I accidentally nuked my root .htaccess file or something. Ideally, I would keep everything under git version control and possibly have a nice WordPress Capistrano setup on my server for keeping WordPress and related non-media files safe and easily accessible (versus having to download then decompress a huge archive just to get to one file). In addition, I would have an rsync to S3 backup for media files and the database. But like many of you, I don't have the time to figure that out right now. That's why I became intrigued when I first caught wind of Automattic's turnkey WordPress backup service called VaultPress. Pay a monthly fee, set it and forget it.
My backup situation looked like this (and a terminal) before VaultPress.
VaultPress is a complete WordPress blog backup solution. Everything related to your WordPress installation from theme files and uploaded media all the way to the database will be backed up. Want to know the best part about it? Real-time backup. The second anything changes on your WordPress setup, be it a new post revision is saved, a new comment is created, a tag is added to a post, a new user registers, a plugin is added, an image uploaded... anything, VaultPress gets pinged and that particular change is updated in your backup.
The VaultPress plugin uses WordPress hooks to receive alerts when any information has changed on your site and syncs those changes with our servers. Live ticker messages are displayed to show the status of exactly what’s going on – backing up a comment, adding a new post, changing an option, etc
There are some edge cases where VaultPress won't know if you changed something, such as manual file uploading/editing via FTP, so it does an entire site scan every evening to detect any such changes and sync the backup as necessary. Depending on the plan you are signed up for, VaultPress will be able to scan for potential security threats as well.
I don't think I need to explain the benefits of real-time backup. Having backups initiate the moment something changes is much better than having to wait hours for my old cron job script to kick in.
SetupFirst things first: VaultPress is currently in a private beta and many of its features have not yet been baked in. The information in this review will very likely be outdated in a few months, so please keep that in mind.
Setting up VaultPress is as simple as installing their plugin. It's not just any plugin, but rather a custom plugin just for your domain and blog. You need to have a WordPress.com account to be able to log into VaultPress to get the plugin but it will work on any self-hosted WordPress blog. After the plugin is uploaded and activated it will begin the lengthy first backup. I did not experience any issues with my first backup. It took a few hours to backup 5 years of blog posts, images, et cetera. I was able to monitor the progress within the WordPress admin panel as well as see general backup information.
Access basic VaultPress info within the WP Admin Panel
BackupAfter the plugin is setup there's nothing else to it. VaultPress will continuously backup your blog as necessary. Logging into the VaultPress Dashboard provides more backup details and is where you'll go when it comes time to initiate a restore or download backed up files:
This page provides a complete snapshot of each backup. Along with the date and time of each and every backup, you can review how many users, comments, attachments, pages, posts, revisions, safecss, authors, categories, link categories, post tags, uploads, images, themes, and plugins (whew!) are included in each of the backups.
You can also retrieve your data here by checking the box next to plugins, uploads, database, themes or all of the above and hitting that “download” button.
What happens when something happens to your site and you need to fix something or revert to the most recent backup? Unfortunately, there is no automated restore feature built into VaultPress yet. At the moment you will have to download the backup archive to your local machine, decompress it, then use an FTP client to manually upload it to your server. Obviously a painful and very slow, manual ordeal.
Restoring Downloading then Manually Uploading
VaultPress archives my uploads and then offers me a .tar.gz download.
Yeah, definitely not ideal. I went poking around the VaultPress blog for upcoming plans:
We have two things on the roadmap to address this. The first, and most important, is server-to-server restores. That means instead of you being in the middle, you give us a SFTP login and destination for your account and our high-speed servers talk directly to your high-speed servers and do in minutes what would take you hours or days. This is a high priority for us.
The second, to get around the archival problem, is allowing people to subscribe to get their backups on physical media, like a Blu-ray disk shipped to their office, or a USB stick.
A server-to-server restore that appears to be in the works would be ideal and I can image the Automattic folks will do a great job implementing this. Until then, I downloaded a complete blog backup from WordPress, complete with some 194,000 items. It took VaultPress 31 minutes to build the archive, then 2 minutes for me to download the 453MB archive and a minute to decompress it to 550MB. Inside the archive there were 5 folders: plugins, root, sql, themes, uploads.
Files & Folders in a complete VaultPress backup
The plugins, themes and uploads folders were a straight copy of their respective equivalents within wp-content. However, the backup lacked any .svn metadata folders that were in those folders on my blog server. The root folder contained 3 files: my favicon.ico, robots.txt and wp-config.php. I was disappointed to see it did not include my heavily modified .htaccess file. And finally, the sql folder contained individual *.sql files for each table in my WordPress database. I like how they were separated by table instead of one file. That makes it easier to selectively restore parts of the database. For example if only your options got hosed you can just import wp_options.sql into phpMyAdmin.
Official VaultPress pricing is still in the works.
Okay so what do we have thus far? An automated backup solution for your blog. Assuming that VaultPress will soon provide an easy backup restore solution, I still have a few nitpicks. Most important: I would like the ability to tell VaultPress to backup other files and folders on my server that are not part of WordPress. For example, I have various folders in the root of my site that while not directly related to WordPress, are still relied upon by my blog and would need to be backed up as well. Perhaps this issue is a known shortcoming of VaultPress's offering — that it is a blog backup solution, not an entire server backup solution?
VaultPress can't do real-time continuous backups for things that don't run through the plugin and set off one of its event handlers to initiate a backup/sync. At the very least VaultPress needs to backup the root .htaccess file and perhaps ask me what other files to backup on a regular basis. I hate when I do an automated WordPress update and it replaces my .htaccess file with a vanilla WordPress .htaccess.
That being said, VaultPress alone will not provide enough coverage for most advanced bloggers; bloggers that run self-hosted third party analytics suites, image galleries, host their own files for things like TinyGrab and more.
As for pricing, that is still up in the air but I have seen numbers between 15-40 per month online. Beta customers such as myself are currently on a discounted 15/month plan for the basic tier of service. A premium plan is also being offered and provides security scans as well. Personally, real-time database backup alone is worth at least 30 per month for me (I already pay 40/month for Amazon S3 for my various online backups and CloudFront usage). If VaultPress saves me only one lost/corrupted/PEBKAC/what-have-you blog post per year, it will still pay for itself. However it is rather unsettling that I will need to have multiple paid backup solutions in place to ensure I have all of my server data backed up. At this rate, I do not think I will be retiring my S3 backup script anytime soon.
At the moment VaultPress is clearly in the early stages of product development and it would not be fair to rate their current offering. A backup service without an automated restoration feature is rather half-baked. When this automated restoration feature goes live, however, I would not hesitate to rate VaultPress 8.5 out of 10 Stammys.
VaultPress provides a sleek backup solution centered around the ease of setup you've come to expect with everything created by the Automattic/WordPress folks. You'll just have to decide if its shortcomings are worth it to you based on how much you blog and what it means to you.
Thoughts? What is your current server backup plan like? Would you consider using VaultPress? If so, how much would you pay?
Disclosure: As of the time of this posting, Automattic currently advertises on this blog.