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.
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?
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?