My Offsite Backup Solutions

To go along with my last post on indie maintenance and disaster plans, I’d like to mention how I currently back up my important data.

Local Backups

I have two active computers. My main development machine is my currently dying laptop. My desktop has a backup of my laptop’s data. Using rsync and SSH, I can transfer files between devices easily, which was really helpful when I needed to replace the desktop in 2010. I simply rsynced files to my laptop, then rsynced them back to the new desktop. As my laptop has been failing recently, I’ve been using any lucidity on its part as an opportunity to rsync files to my desktop in anticipation of the laptop dying at any moment.

I also have a 1TB hard drive connected to the router, which means any computers on my network could make use of it. Unfortunately, it has to be formatted as NTFS and requires the use of Samba, which means it isn’t a perfect solution, and it also means that I use it way less than I should.

So there’s data redundancy within my computer network. If one machine or drive fails, the important data is also available on the other, and I could always find a way to make better use of my 1TB drive so that losing both computers wouldn’t be a catastrophic data loss.

But what happens if I get robbed and lose all of this equipment? Or if a fire breaks out? Or some other disaster that takes out all of the data since it is all in the same office?

Remote Solutions

Since my main project, Stop That Hero!, uses git for version control, I paid for a Micro account on GitHub, which gives me 5 private repositories and the ability to add one collaborator for just $7/month. So if I lose everything, at least I can continue to work on the project once I get a new computer.

What about other data?

While I have a DropBox account, I only have limited space available (although signing up for your own account with that link gives us each 250MB extra). DropBox offers tiered pricing plans and a team/business plan, but I can’t justify the expense at this time. I’ve been using DropBox for private data backups and as a way to quickly provide a link to a file. I know a few Flash game developers have used DropBox to put up their game for FlashGameLicense.com.

An alternative to DropBox is SpiderOak. It offers way more space than DropBox, and if you choose to pay for more space, you get more than double the capacity for the same price. Plus, data encryption works both ways, when sending or receiving. According to the SpiderOak site, they claim to be a “zero knowledge” backup provider:

This means that we do not know anything about the data that you store on SpiderOak — not even your folder or filenames. On the server we only see sequentially numbered containers of encrypted data.

Now, this encryption means that it takes a lot longer to backup files. Since you get so much more space (2GB to start, and we each get a free GB if you use the link above), backing up a few GBs of data can take a good part of your day when you start out. Plus, unlike DropBox, you aren’t tied to the DropBox folder. You can configure whatever folders and files you want to backup, and you can still share files publicly. You can configure SpiderOak to automatically back up changes at a schedule you set, and it will keep track of previous versions of files for you, too.

I’ve been fairly happy with SpiderOak so far. The only issue I ran into was related to how it was backing up my Projects folder while I was working on it. I rebuilt my project, and apparently SpiderOak was in the middle of processing the folder my project lives in, and it choked. It was probably because a file like Game.o was deleted and replaced, and it didn’t know how to handle it mid-processing. I managed to get it unstuck, but it took a support email and a perusal of the support forums to find out how. To prevent problems in the future, explicitly tell it not to backup the folder where your project build lives.

So these are some free solutions with paid options that allow you to sync multiple computers and share with friends. What if you’re looking for something more cost efficient as well as private? I have a friend who pays for a dedicated remote solution. Carbonite is $59/year for one computer, which implies that you can’t use it to sync multiple computers or share files with friends, but it’s another option available to you. Mozy is an alternative, and it’s basic plan is $5.99/month for 50GB with options to pay a little extra to sync multiple computers. There’s also a Mozy Pro set of plans for servers as well as desktops that charge per gigabyte on top of a flat fee.

What does your backup plan look like?

3 comments to My Offsite Backup Solutions

  • I suggest cloning your drives for local backups. with cloned backups, if your drive crahes (or your machine dies and kills your drive) you can simply plug the backup drive into your old machine, or a new one and be up in running in minutes.

    Personally, I divide software/tools/etc/ and data. I have a 160GB SSD system drive and a 500GB spindle- ‘data’ drive in my machine. I clone these approximately each once weekly. In total I have four backup drives and I rotate them every other week. i.e. My oldest backup is at worst two-weeks old.

    In total, this takes me 3 hours a week, but I run the longer spindle backup when I go to bed on Friday or Saturday, so the real down-time to do this is about one hour.

    I use a swapable SATA bay to plug in the backup drives, but you can also use an external USB/e-SATA bay for this if you have the ports. After the cost of the drives and the bay, there is no cost except your time. I use the free Clonezilla cloning app for the actual backup/restore process.

    Some folks say Iam crazy to go through so much trouble, but I have been through two crashes (once without proper backups and once since starting this method):

    * In my first crash I had to use a recovery service to get back my data (a book I was writing at the time) and it cost my ~$400 and about a week to puzzle out the right versions of the recovered files.

    * In my second crash (I had just begun using this process) I was back up and running in less that a 1/2-hour, with only a few days’ lost data. Painful, but not nearly as bad as the first time.

  • Wow, good idea, Ed! And with how cheap hard drives are, it sounds inexpensive.