At the moment I have my source code and resources for my game project on my hard drive, and also backed up on two separate memory sticks, but I was wondering how others go about ensuring the safety of their projects? I know that professionals/companies will have very sophisticated schemes, but of course there are a lot of casual programmers who would not have access to large off-site storage. How do you do it?
How do you back up your stuff?
Crossbones+ - Reputation: 848
Posted 09 May 2013 - 03:55 PM
I use Mercurial to keep all of my source code and resources in. Once a week I make a .zip with everything in it and copy it to an external hard drive, and to Amazon Cloud drive. I'm sure I could do something fancier and more automatic. However, it really isn't much of an effort. I like that I understand exactly how my "backup system" works, and I'm confident that I could restore things easily.
Moderators - Reputation: 18827
Posted 09 May 2013 - 04:53 PM
I like that I understand exactly how my "backup system" works, and I'm confident that I could restore things easily.
That's an important point. How confident is that?
Whatever your backup system is, MAKE SURE IT WORKS.
I used my backup system to install everything from a freshly formatted new machine just to be certain.
I was particularly glad my backup system works when my child gave some 'percussive adjustments' to an external drive. I realized at that moment that the source code for my hobby projects was nothing. Losing a decade of photos and videos would have been far more devastating.
It is much like those who say you don't really know what objects you value until you lose it all in a fire or other disaster. I've got about 1.3 TB of photos and video mirrored on four drives plus an online backup service. Of all my online documents those are by far my most precious. I very nearly lost them all once and realized that the cost of online backup was worth it.
Edited by frob, 09 May 2013 - 04:54 PM.
Crossbones+ - Reputation: 2038
Posted 09 May 2013 - 06:42 PM
I have several backup locations. For certain stuff that I need often and mostly important, I would store them on Dropbox. For example, agreements, contracts, hotel reservations, tickets, resumes, and other documents that I might need on the go. The ability to grab files from your phone is priceless.
For source code, remote repo. I don't store code in Dropbox.
For other things, such as pictures, videos, downloaded files, and random crap, I have NAS.
Members - Reputation: 1564
Posted 09 May 2013 - 09:17 PM
For my "using it now" stuff, I use Dropbox, and that includes any current projects and work. It also includes other things that I feel I might want to access on the go. On top of this, I have my laptop synced as well, so even if Dropbox goes down, I have atleast one other copy there as well. I figure a good rule to go by is to have two backups as constantly made as possible on reliable sources, where reliable doesn't have to be perfect, rather simple and easy, and preferably automatic.
For the more important things, which would be mostly photos, I keep those on CDs/DVDs, and I keep those discs in envelopes and in a safe place. I have understood that optical media, as long as it not kept in the sun, can be very reliable for storage, and so far it has never given me problems, though I use the discs at times to send photos to people and to print them too.
Crossbones+ - Reputation: 8134
Posted 09 May 2013 - 10:18 PM
Well I don't have that many "irreplaceable" data, as I am not very materialistic. Most of my stuff is content available on the internet in some way (movies, music, ..) and then my personal stuff which is rather small (code, a few pictures, other miscellaneous stuff). I have my code on Github and on various other websites and I know exactly where to find it, as for the rest it's on a separate hard drive, as well as a USB flash drive which I keep in a secure location and on a remote archival service (encrypted) and is updated once a month or on demand.
But it's important to differentiate backup and archival. A backup needs to be always available (and needs to actually exist and not have been destroyed along with the original version, a.k.a. always store your stuff in two distinct physical locations, and a backup is not a backup if it isn't backed up) and it should be fast and painless to restore a backup. On the other hand, data archival need not be fast, and doesn't have to be instantly accessible, but data should be safely kept at rest on durable media such as optical media, in more than one location. It should also be possible to search an archive to look for what you want, whereas that's not really necessary for a backup since if you need the backup you probably need all of it (a backup is not a version control system, and vice versa). They are different things.
And frob's point is very important - always verify your restoration procedure works. Otherwise the only time you'll find out it doesn't work is when you are actually trying to get your stuff back during an emergency, and then you're screwed.
The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.
- Pessimal Algorithms and Simplexity Analysis
Members - Reputation: 1128
Posted 10 May 2013 - 12:49 AM
I was using github, but now it became clumsy, and it can't hold .obj files for some reason. So I switched to Ubuntu One cloud. Or you can use DropBox, but Ubuntu cloud gives you 5Gb for free, so I choose it.
Members - Reputation: 454
Posted 11 May 2013 - 01:39 PM
I use double-protected cloud storage. I use a SkyDrive account folder on my computer, and I configured my Dropbox folder to be inside of that. That way, I can store my projects on Dropbox, and it will sync to their servers, but because the Dropbox is inside my Skydrive, it's synced to their servers at the same time. That way it's very unlikely that they're lost. And to my knowledge, Dropbox AND SkyDrive provide a file history, so that anything accidentally deleted can be recovered. Right now I have about 4GB of storage available on Dropbox, so until that runs out I'm happy using this method.
The only downside is that it limits where I can code, but it's not that bad. If i know there won't be internet access where I'm going, I'll only stick to one computer for coding and sync it up when i get back.
Members - Reputation: 722
Posted 11 May 2013 - 05:17 PM
It doesn't really matter how.
What really matters, is How Often&Redundant.
Personally - I use a combination of auto-sync to cloud and manual copy (3-5 times a week) to USB sticks (discarded every year). External HDDs are not really that reliable.
I found that the best way to be disciplined about a backup is to actually loose stuff. Nothing beats that direct WTF experience that you relive every time you're lazy about backing stuff up
VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596