How to backup your site automatically? The first thing I would like to say is that really, the best tool for this job is BackupBuddy. There are lots of pretenders to BackupBuddy and there are lots of things that try to say they’re as good as BackupBuddy but they’re cheaper.
I know from personal first-hand experience that nobody competes with BackupBuddy. I used to spend a lot of money on backups that did not work as well as BackupBuddy backups did. My advice is to use BackupBuddy to back your site up. I’m just going to show you how easy it is to back this up.
Manual Backup Using BackupBuddy
You just come over here to backup and this is how easy it is to do a manual backup. All you have to do is say, Complete Backup and your entire database is backed up, all of your files are backed up and it’s stored in a place that is easily accessible. In a moment, we’ll see that it’s done so there it is. Back to backups and you could download this or you can just leave it on your web server. That’s how sleek BackupBuddy is and restoring from that is where it really shines and it’s almost as easy as that to restore.
If you want to learn more about how to use BackupBuddy, I encourage you to search the site for BackupBuddy and you’ll find that I have a lot of videos on how to use BackupBuddy for this kind of thing. Let’s say you don’t want to spend the 50 bucks to buy BackupBuddy and you want to try a free system.
The problem with backups is that backup plugins come and go. Once upon a time, I taught one system then when I taught the Thesis version class this spring, I taught the easy pissy one-click backup but neither of those plugins are available any longer and neither of them will do the job for you which is one of the nice things about BackupBuddy is, since it’s a paid plugin and they’re making money selling, they’re going to stay in business and keep on developing it and that’s the problem with the free plugins.
Criteria for the Right Backup Plugin
I do have a set of criteria that I use for judging whether or not a plugin is the right plugin to use. The first thing is it has to be able to be automatic, that is you have to be able to set up a schedule for it to do its backup and for it to automatically do that on that schedule. If it’s not automatic, it’s not going to be done often enough so it should be automatic.
The second thing is it should be selective, that is it should be able to backup 100% of your site so not just database, not just files, not just your wp-content folder but it should be able to backup absolutely everything. It should also be able to select specific parts so that you can do for example, only a database backup because really, it’s the database that changes the most often. If you’re going to have an automatic system, you should do your database backup more regularly than your file on your entire site backup so you want to be able to be selective about the scheduling.
The third thing I think is really important, is that it sends those backups to remote storage. BackupBuddy can be configured to store a number of locations and I have it configured so that it goes to the storage location in my Amazon S3 account but a lot of people don’t have Amazon S3 account and it’s more complicated to have an Amazon S3 account that it is to have say a Dropbox account. I think a plugin should be able to at a minimum, deliver the backups to your Dropbox account if nothing else.
Backup to Dropbox
If you don’t know what Dropbox is, you should go do a search for Dropbox and sign up a free account for yourself and see what you can do with Dropbox. We use Dropbox extensively in this office for sharing files between everybody in the office and sharing files with clients and friends and I’ve been sharing some files with members that way. Dropbox is a very useful tool and it’s a great way to have a remote location to store your backups.
Having said that, one of your options is BackupBuddy. You don’t have a whole bunch of other options. Let’s go over to WordPress for a second, go to plugins and I’m going to search for backup and Dropbox. That returns 14 plugins in this result and there really is only one plugin that I feel comfortable recommending out of these 14 and there are only 2 that actually do the definition that I just describe that is, automatic, selective and can send the backups to remote storage.
For example, WordPress backup to Dropbox, it’s not automatic. You can pay for premium thing to add to it and it can become automatic but otherwise, it’s not automatic. Drop in Dropbox is not even really a backup system. You can use it as a backup system but you can use also as a way of taking any file or folder from your site and storing it in your Dropbox. It only meets one part of the criteria and it’s not really a backup thing.
WordPress SQL Backup does exactly what it says. It does your database backup and it actually has a limited file backup ability but it won’t backup your entire site. Again, it doesn’t meet the criteria. XM-Backup doesn’t have automatic backup system, that’s the thing. Then you have Snapshot Backup and it lets you do it but if you want it to be automatic, then it costs you something.
SMEStorage Multi-Cloud WordPress Backup again, requires you to pay for an account in order for it to export off of the site. It’ll create backup files and stick them on your hosting account just fine but unless you pay for it, it won’t export off. BackWPup is the plugin that we’re going to talk about tonight, this is excellent for it.
Cloudsafe is another example of a premium plugin where in order to get all the functionality that you want, you still have to pay money for it. ManageWP Worker is not really a backup plugin, it’s really a for a fee service for managing your WordPress sites. Pressbackup is also a for a fee service and if you pay them the fee then you can have all the things that you want but their fees are higher than buying BackupBuddy so I wouldn’t bother.
Wp- Time Machine goes directly to Amazon S3 but it does not actually go to Dropbox and it also only backs up your wp-content so it can’t backup all of your files. InfiniteWP Client again doesn’t really do backup in that way and it’s related to managing multiple WordPress sites. There’s really very little out there that meets my criteria and the one thing that does is this BackWPup so this is the one that we’re going to use. It’s pretty highly rated and it’s had like 363,000 downloads so it’s probably a good choice.
Install BackWPUp Plugin
We are going to our site, sbywh-final, come over to plugins and add new then we’re going to search for BackWPup, we’re going to install it and activate the plugin. Here it is, BackWPUp, it’s got a menu over here so come over here to our menu. We’re going to start off by going to the settings and it’s going to send an email when a backup is done and it’s going to be sent from me and it’ll be sent to the admin on the site.
This is the name that’s going to be in there, this is the mail method and there are other choices you can make. It’s going to place a log in this location so public_html/sbywh-final-agency/wp-content/backup-bc277-logs, that’s where it is. It’s going to maintain a maximum of 50 log files and it will delete them as new ones come along. You could choose to gzip the log files but I don’t think that really matters in this case.
Here’s where you can set the number of retries for each step inside of a job and here’s the way you can set the number of retries for the script itself. Then you can also use this PHP zip class if your pzl.zip if not available on your server. Really, there’s not much reasons for you to manage any of these at this moment unless you have a problem with it and this works out of the box in Bluehost so you’re going to be fine with this in most hosts.
To the extent that you can’t, you might have to put some user authentication in here like a username and password for WordPress or your username and password for your FTP. It’s actually probably what it would be is your username and password for your FTP. But it would be easier using username and password for FTP for some people then this gives you BackWPUp links and the admin bar which sits up here like this.
Create Backup Jobs
The next thing to do then here is, if you go to Jobs, you’re going to see there are no backup jobs created and there are no logs, there are no backups. None of these has happened yet because we don’t really have anything here so we’re going to come to add new job and let’s give this new job a name. We’re going to call this one Weekly Database Backup and this is going to be just a database backup.
We don’t click files here, we’re just going to do a database backup. Down here we can set up our schedules so we’re going to activate scheduling on this and with the advanced, you have more choices but we’re just going to use basic and we’re going to say, we want to do this weekly on Sundays at 3 o’clock in the morning. That’s what’s happening here, so we’re going to do a database backup, every Sunday morning at 3:00am.
Send Backups to Dropbox
This section here is where you tell it where you want the backups to go so you could set up a folder on your host to store your backups. If your backups are small enough, you could have them emailed to you, you can have them FTP’d some place but what we’re going to do here is have them backed up to our Dropbox. The way you backup to Dropbox is really, you just have to hit authenticate and it’s asking for you to allow it and that’s it.
As long as you have a Dropbox account and you’re signed in to your Dropbox account, that’s all that’s required. You might need to sign in to your Dropbox account as well then what you want to do is specify the folder here. I’ll show you what I have in my Dropbox account. In my Dropbox account, I’ve got this folder called Backups so I’m going to use that folder here.
Now, there’s a SugarSync that you could backup to an Amazon S3 storage or to Google storage or to my Microsoft, Azure or to Rackspace Cloud. There’s a whole bunch of different online systems that you can use to backup but we’re going to use the Dropbox in this case. We’re going to send the log file here. Right now, it’s checked only send an email if there are errors but I really want to be reminded so I want any kind of an email to be sent to me.
Set the Blog Maintenance Mode
I forgot to say, right here what I want to do is set the blog maintenance mode on the database operations so that it doesn’t take very long to do this backup system. Rather than have the possibility of a database interference during the backup, we’re just going to when the backup starts, it puts the blog in the maintenance mode for a few seconds and once the back up is done, it goes off to maintenance mode.
We’ll go ahead and hit the save changes here then we’re going to set up a monthly automatic full backup. We’ll say add new again and this is Monthly Full Backup. Now, this is going to be a database backup and a file backup. Since we say, File, now we have files to backup and what it does is it runs out there and looks for all the folders that we might want to backup or might want to exclude so it says, do you want to exclude something from the back?
Exclude Files to Backup
In the root, I’m going to exclude cgi-bin, we don’t need to back that up. In content, I’m not going to exclude anything in wp-content. In plugins, I could choose to exclude something in plugins and you could exclude them all by simply clicking that but I’m not going to do that. The same thing is true with themes, I could decide that there are some themes here that I don’t want to backup and I could decide that there are some uploads inside of uploads that I don’t want to do.
For example, I could choose not to backup BackupBuddy backups so I could exclude all of my BackupBuddy folders here and the chances are, you don’t have any BackupBuddy folders. When we say blog uploads, what we’re talking about is this section right here, uploads. That is the blog uploads so backupBuddy_backups, backupbuddy_temp, those are the folders that it sees that we’re choosing not to backup then 2012 is the media library for 2012 and we’re going to back all that up. Those are the only things we’re going to exclude.
Here, we’re going to do this monthly on the first and again, at 3 o’clock in the morning. We’re going to zip this up, I want to send myself an email and I’m going to set up the Dropbox here so again, authenticate and allow. Now, it’ll automatically be sent there and again, I want to send to backups. I could have chosen a different system and I could have just easily chosen to send this backup someplace else, it didn’t have to go to Dropbox.
It could have gone to Amazon S3 for example but in this case, I want to put it in the Dropbox as well. We have that whole thing setup and we’re just going to hit save changes. Now if we come over and look at our Jobs, we have two jobs specified here. We’ve got our Weekly Database Backup and we’ve got our Monthly Full Backup.
You know what, I don’t think that got saved. You can see the next run is this and this is inactive. Let’s go back over and edit our Monthly Full Backup because I think something happened. I forgot to activate scheduling, that’s what it was. Now, hit save changes, come back over to Jobs and now you see, the next time it’s going to run is October 1st, this one’s going to run on September 16th.
If I want to do a spot backup, all I really have to do is come over here, over that and say run now so that’s what we’re going to do. This shows you everything that happened during that run so the job took 2 seconds and the backup is being transferred to this location in the Dropbox. Let’s give it a chance to get there. If we look at our Logs, now we can see here is a log so the status was okay, 87.35 KB.
If we view it, we can essentially see that same thing we were looking at before and we can also download it directly from here if we wish. If we come over to our backups, again we just see our backup jobs so this is pretty much the same as this. If we take a look at our Dropbox folder again and go into backups, here’s the one that I just did. This was at 5:49 this afternoon, it’s 5:51 now and this is the backup_1_2012_09, there you go.
If you do a bunch of these things, you could actually come over here to Jobs, edit this and give it a different backup prefix. It could be, weekly_database_sbywh_final. You get more descriptive names in your file prefix. That is BackWPUp, it’s a great plugin for backing up, it meets all of my criteria and if you can’t afford or don’t wish to afford BackupBuddy, then I think it’s a perfectly acceptable solution and I hope that it stays around for a long time.