Backing up Your Website: The Ultimate Guide
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.
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:
- You have to remember to back up regularly.
- It can take a long time to download a big website.
- There's no way to only download files that have changed (costing you time and bandwidth).
- You must manually monitor the download to ensure that it has completed properly.
- 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:
- Set diary entries and reminders to back up your website and make an effort to never skip the task.
- Don't forget to back up your databases too.
- Keep a logical folder structure with the date as the directory name.
- Ensure that you back up to multiple hard drives, for maximum protection.
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:
- Log into your cPanel control panel.
- Click on the "Backup" icon.
- Select "Generate / Download a Full Backup".
- Select "Home Directory" in "Backup Destination" and enter your email address, before clicking the "Generate Backup" button.
- 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.
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.
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.
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.