Advertisement
Workflow

Backing up Your Website: The Ultimate Guide

by

What would happen if you woke up tomorrow and your web host had accidentally deleted your website? It happened to me. And, you guessed it: I didn't have a backup. That won't ever happen to me again and I'm here to help you get prepared too.


Nightmare scenario. My entire business went down the drain with one mistake by my web host. It wasn't even my fault, but I had to start my business from scratch because of that one mistake. I'm not alone either: 40% of small to medium businesses don't back up their data.

If you have a website, today is the day to get your backup plan straight.


Why are Website Backups so Important?

There are five reasons why you should back up your website:

1. It's not your web host's responsibility to make back ups available to you.
A surprising number of web hosts don't back up your website regularly. Of the few that do, most of them simply do so for their own protection and don't make the files available to their customers.

2. Storing the original development site isn't enough.
If you developed your site on a test server, or your local computer, you may think that's enough to protect you. However, over time, websites are tweaked and changed and those changes often won't be reflected in the original version. If you run a forum, blog or CRM system, much of your valuable content is uploaded by your users, and won't exist in any other place than on your website.

3. You need to be ready to react quickly.
Having an up to date back up in place will allow you to get back online quickly after a mishap. There are many reasons why you need to get your website back online quickly including loss of income and potential SEO penalties (according to some sources).

4. Peace of mind.
Before I started backing up my websites, it was always on my mind that I needed to do something. It was my responsibility and I'd be letting a lot of people down if I lost the latest version of my site.

5. It's your protection against viruses.
Web hosts don't tend to proactively run virus and malware scanners against your website. Therefore, keeping a backup may be your easiest, and best protection; allowing you to turn back the clock after an attack. While this doesn't prevent attacks, it does cure them when needed.


Backup Solutions

Now that you know why to back up, let's look at how!

1. Manual backups

Let's start with the most low-tech method: manually FTPing your files to your local computer. The downsides, however, are clear:

  1. You have to remember to back up regularly.
  2. It can take a long time to download a big website.
  3. There's no way to only download files that have changed (costing you time and bandwidth).
  4. You must manually monitor the download to ensure that it has completed properly.
  5. You need to create your own, logical way of managing and storing the backed-up files.

Should you choose to go down this route, let me give you some tips:

  1. Set diary entries and reminders to back up your website and make an effort to never skip the task.
  2. Don't forget to back up your databases too.
  3. Keep a logical folder structure with the date as the directory name.
  4. Ensure that you back up to multiple hard drives, for maximum protection.
Manual Backup

2. cPanel backups

Backing up with cPanel is easy. But there are some pitfalls to avoid. Let's start with a brief explanation of how to back up, if you are hosting on a server with the cPanel control panel installed:

  1. Log into your cPanel control panel.
  2. Click on the "Backup" icon.
  3. Select "Generate / Download a Full Backup".
  4. Select "Home Directory" in "Backup Destination" and enter your email address, before clicking the "Generate Backup" button.
  5. You'll receive an email when the backup is ready.

But here's the important thing: make sure you download the backup to your computer and keep it stored safely. You must remember to back up frequently and keep the backup files in a safe place. If your backups are stored on your server and your server goes down, you are essentially left without a backup.

3. Backing up to the cloud

A cloud solution is the perfect place to keep a backup. It's ever-expanding and with most systems, is backed up and fully redundant. Solutions for backing up to a cloud include:

Amazon S3: the grandmasterfunk of all cloud solutions. But getting your data onto S3 requires some thinking and will require installing server software, if you have access to do so (for example: CloudBerry Backup Server Edition for Windows users). Failing that, there are tools out there for many platforms, designed to get your data onto S3. For example, Wordpress users who can't install software on their server, may like to look into Backup Buddy, a WordPress plugin that backs up to Amazon S3.

Dropbox: while not intended to be used in this way, Dropbox makes for a suitable backup tool. Wordpress users, in particular, may be interested in a third-party plugin that backs up the Wordpress installation on a specified frequency.

Manual upload: even if you don't plan on automating your backup workflow with S3, it acts as a secure, reliable place to store your manually-backed up files.

Cloud Backup

4. Rsync backup

Rsync is a piece of software that allows you to copy files from one server to another. It's clever because it will only transfer files (and even just parts of files) that have changed, saving you time and bandwidth.

Setting rsync up is not a straight-forward process, but if you have a second Linux server under your command, this offers a great way to backup your site incrementally.

If you do this, you'll still need to back up your database. If you use a cron job to back up your database into the synced area of your directory structure, rsync will take care of the rest. If you have a MySQL database, the easiest way to back it up is to run a script called mysqldump. This is a free script which is often installed by default in Linux and Windows alongside mysql client tools.

Rsync Backup

5. Automated backup solutions

Why manage the backups yourself when you can put the experts in control? There are a small number of managed backup services out there, including:

Backup Machine: a feature-rich backup solution founded by the writer of this article. Backup Machine offers free backups, plus automated daily website and database backups.

Codeguard: focusing their features on malware detection and alerts when your website is changed, CodeGuard offers manual and automatic website backups.

Dropmysite: a bare-bones website backup solution that, like the others, connects via FTP and downloads backups. However, this system does not incrementally back up the files; it simply re-downloads the entire website every time.

Backup Machine

In Summary

With so many options, I'm sure it's difficult to choose how to plan your backup workflow. Therefore, we'll finish up with some final closing tips to help you move on from here:

1. Choose something that fits your budget and timescale.
The full features of the automated solutions will cost a few dollars a month, but it's important to weigh that up against the time and stress you'll save over backing up yourself.

2. Decide on the best backup schedule.
If you have a database or any other dynamic element, ensure that you back up at least once a day. Otherwise, back up as often as your website changes. And, if possible, schedule your backups to happen at the quietest time of your website to avoid any disruption.

3. Check your backups regularly
Several surveys have shown that the biggest pitfalls people make with their backups is that they forget to check them. Ensure that your files aren't corrupt and that your back up contains everything you need to do a full restore of your website.

There's just one vital tip left to share ...

4. Do it now!
Disaster could strike at any time. Back up your website now and back it up every day. If a nightmare strikes, you'll be ready to take control and get back online within minutes.

Related Posts
  • Code
    Web Development
    How to Use New Relic With PHP & WordPressRelic retina preview
    Today we will look at how to monitor a PHP application using New Relic. More specifically we will set up a basic WordPress installation and get some performance data about it, in the New Relic dashboards.Read More…
  • Code
    Plugins
    Choosing the Right Plugin for Your Next WordPress ProjectPlugin icon 400
    Ever needed a plugin for your WordPress-based website? Of course! After all, that's how WordPress is extended, isn't it? If you're a beginner to WordPress, or even a power user, then you're likely familiar with the WordPress plugin repository, premium plugins, and so on. The thing is, there are so many plugins available that do many of the same things, it can be difficult to determine which is best suited for your particular needs. This raises the question: What do you do to find the perfect plugin for a particular need? In this post, we're going to see how to find the best plugin for exactly that.Read More…
  • Computer Skills
    Hardware
    How to Build a Custom RAID Setup for a MacPreview image raid
    There’s a lot of good reasons to explore different ways of backing up information and preparing yourself for the worst, especially as more of our data ends up on our computers than ever before. I run a small business, and for me, having a large home storage and backup system for all my clients’ data is of critical importance. In this tutorial, I’ll show you how to select the right storage and backup regime for your Mac.Read More…
  • Computer Skills
    Productivity
    How to Use an Android Smartphone With Your MacAndroidmac1
    Year upon year, Android has proven its value as an alternative to Apple's iOS. Android's 79-per cent marketshare worldwide means a fair number of Mac users also use Android phones. This tutorial covers what it's like to be in that camp, and what apps and services are available to help make these obverse devices work together.Read More…
  • Code
    JavaScript & AJAX
    Going Live With NodeGoing live with node retina preview
    In my previous article I talked about my joy of discovering the Express framework. Express is what makes me feel like I could really build something with Node and have fun doing it. And in fact - I did that! I built some sample web apps and had a lot of fun. But eventually I decided it was time to buckle down and get serious. I liked Node, I loved Express, and if I was really going to commit to learning it, then why not take the final step and actually create a real website using it. Another thing I learned early on during my Node education (Nodacation?) was that having to stop and restart a Node app was a real pain in the rear. I had great success using Nodemon by Remy Sharp. It will notice updates to your code and restart your Node app automatically. This sounds trivial I suppose, but for me my entire experience with Node was at the command line. I'd simply run node app and test away on port 3000. I really didn't know what it involved to get that same application up and running on a real server and responding to a domain. In this article I'll describe two different attempts I made to move a Node app into production. Obviously there's more ways (and look for more articles here at Nettuts+!) so keep in mind this is what I tried and had success with. Read More…
  • Code
    WP101 Training
    Beginning With WordPress: Installing WordPress ManuallyBeginning with wordpress
    So, there you are - sitting looking at a couple of emails: one with the keys to your domain name, one with the keys to your website, and now you're going to have to get your act together and actually put WordPress on your site but you really don't know where to go next. Well, you have two options: You can use an automatic installer (usually provided by your web host, something like Fantastico, Softaculous, or Installatron). You can install it yourself. Now, because this series is about really getting under the hood of what we're doing, let's focus on a full manual install. Stay with me, it's not too difficult if you follow the instructions methodically.Read More…