Happy Halloween everybody!
I thought today could serve as a nice reminder to make sure you have proper backups of all your important files.
I know far too many developers who play it too risky with their data. They put their whole projects, sometimes their livelihoods, on one hard drive. Worse, I’ve seen them put it on one laptop/USB thumb drive.
It’s obvious, but you have to back up your data. You never know when one day, something unexpected will happen. Maybe a hard drive will fail on you, perhaps your laptop will get stolen, you’re home/office could even burn down in a fire.
As bad as those losses will be, you can take some very simple steps to not add insult to injury and prevent data loss on top of them. Even if your data isn’t “mission critical”, why waste your time and energy recreating assets already finished, or sorting through old backups. Putting in place a proper, automatic backup plan can save you hours and hours of recreating/tracking down stray files in the future.
Every time you leave the house, you should think about what is in your bag and ask yourself: “If I lost this today, would I be ok?” It’s a dark thought, but you have to plan for it. Especially as an indie developer, you may only have one computer. Your entire financial livelihood can rest on having the right keystore file.
What should I do?
Here is how I handle my own backups:
Everybody should use version control for everything. Data backup is just one minor feature of why version control is so important. It also makes collaboration, debugging, and build management so much easier. What if you introduced a bug, and aren’t sure when? Take out the guess-work and use version control to go back and find out what you modified when the bug was introduced. It doesn’t just help two or more coders work on the same project, but also your artists/designers/whoever work seamlessly with your programmers. The coder can push out a new build/update, and the entire team has the correct latest version right away. No confusion, no zipping and renaming folders, no passing around the thumb drive with latest build. Version control makes development more quick, easy, and safe.
I have a network hard drive that I automatically set to sync with various folders/computers when I’m on my home network. There is nothing on thathard drive that isn’t also located somewhere else, but it’s just that extra copy in case I ever need it later.
What’s important about an on site (or off site) backup is making your system as automated as possible. If you rely on yourself to remember to copy a folder manually, you’re bound to forget. Perhaps you just backed up 2 days ago, that’s pretty recent. Well then you’ve still lost at least one whole days worth of work. Set it up so when you make changes to important folders, automatically upload them to your networked hard drive.
I also use a cloud service to automatically upload important files to a remote backup. I like using the off site because of both the nightmare what-if-my-house-burns-down scenario, and because it uploads/let’s me recover data no matter where in the world I am.
When I switched from Windows 7 to Windows 8 last year, I did a clean install. A week after I switched, I realized I had forgotten to copy the save files from one of my games I was playing. Not a big deal right? It wasn’t super important, I wasn’t hundreds of hours in, I could have just moved on. But, I didn’t need to. I simply logged into my offsite backup, which still had the old files, and recovered them. I didn’t need to specifically remember that I wanted or needed those files, it was just automatically uploading everything on the C: drive. Very handy!
If you haven’t noticed a pattern yet, redundancy is key when talking about files. I try very hard not to leave any important files only in one place.
Even my most secure, private files that I don’t trust to online backups, I keep in multiple forms (hard drive, usb stick, burned CD) in fireproof safes in multiple locations.
I never get rid of old backups either. Hard drive storage is cheap. Really cheap. I have 2 TB on my desktop computer. I’m using about half of that right now, including compressed backups of every computer I’ve owned for the last 13 years. Excessive? Yes. How much does it cost me? Not much. The files are there, I have plenty of space (a whole another TB!) on my computer, a plenty large on site backup, and unlimited disk space for my offsite/online backup. So why not?
One last note on Cloud Storage. I don’t trust it.
Cloud storage is great. I use it all the time. I have accounts with SkyDrive, Dropbox, Google Drive and others all with various files. But I don’t trust them, any of them.
The key is, I never keep anything on the cloud I don’t also have a non-cloud backup for.
You never know when an online service might go away. Maybe accidentally, maybe one of them may shut its doors suddenly, you never know. If collaborating/sharing, somebody could accidentally delete an important file on one computer. Suddenly, it’s deleted on every computer you have that folder synced to. If you don’t have any version control or backups, that file could be gone. Cloud storage/syncing is just as volatile as if it were only in one place.
So use cloud storage, it’s great, but proceed with cation.
Nobody is perfect
Lastly, I’d like to say, I’m not perfect. I try really, really hard to not have data loss. More than many people I know. But it still isn’t perfect. I’ve lost files. I’ve had backups get corrupted. I’ve even misplaced important documents.
It happens, we’re all human. All you can do is try your best, and make sure you’re as vigilant as you can when it comes to keeping your information secure and backed up.
Now enough negativity, go eat some candy!