Ask HN: How do you backup your dev machine

9 points by sharjeel ↗ HN
Suppose your dev machine's hard disk crashes, how long would it take you to install everything and get your dev environment back up and running? What strategies do you use in this regard?

10 comments

[ 2.4 ms ] story [ 42.8 ms ] thread
All my source code is in mercurial and subversion repositories, hosted on servers that are backed up. My Vim configuration is also online.

I can get back to work in time it takes ubuntu to get installed. There would certainly be things I would lose, but nothing I couldn't live without.

edit: I don't backup my dev machine for the above reasons.

In the past, I had some environment specific dependencies-- installed libraries and services-- that I couldn't easily backup and wasn't easy to set up. In this case, I would use a VM to do my development on and back up the VM image regularly.

Lately, I'm doing Rails development. Using Git, RVM and Bundler makes re-deploying my development environment a piece of cake, so I just make sure to have my source code backed up.

GitHub for work and dev environment configuration stuff, DropBox for 1Password credentials and public stuff, Time Machine (to a Time Capsule) for my home directory (except for media and VMWare images), CrashPlan (to their hosted service) for everything save applications.

I can get running on a new computer in a couple hours; I don't have to hunt for licenses because they're in 1Password, my editor configuration is on GitHub, and the applications I use are stored safely at their vendors' sites.

Getting photos and videos back after a failure will probably take days, but that's what I'm willing to pay for, and it's better than never.

Apple's TimeMachine. Has worked perfectly each time I needed to. Back up and running exactly where I last was, within less than 2 hours. And no manual intervention, just plug it, let it do its thing, done.
I back up with time machine too. I used it once when I had to send my macbook pro in for maintenance. I just hooked up my timemachine drive to my wife's macbook pro, and it worked great.
I just rsync the important stuff to an external USB drive. Most of my important code is stored in an off-site github or google code repository anyway.
CrashPlan to one of my local boxes (free) and to their online service (small monthly fee). Runs in the background; restores smoothly; less resource intensive than Time Machine. Also, run Carbon Copy Cloner periodically to mirror my main drive, which I can boot directly from when needed.
My homedir sits on a fast RAID-backed NAS which is backed up nightly. All the programs I use are installed in ~/opt on this homedir, and all my window manager settings, program settings, etc are also in my homedir. If my local drive fails, I can reinstall OpenSUSE, set up NIS to pull my user from the yp server, set up autofs to grab my homedir and other remote mounts, and have my entire dev environment all set up in under an hour.

The price to pay for this is that booting and local file access is, on average, an order of magnitude slower than with an SSD. Even over gigabit ethernet the latencies are killer. This is not generally a problem once things are set up, though; my code is on the RAID anyway so the only additional latency is when some config file falls out of the cache and has to be reread.

(Remember, though: RAID Is Not Backup. My homedir is backed up nightly and snapshotted hourly.)

GitHub/BitBucket for source and configuration. Dropbox for documents, photos, music, and the like. Added bonus: I have access to everything, everywhere.
I have dev partition where I keep my libraries and projects. Most of my projects are on some sort of source control but I also rsync the whole partition to my dev VPS every morning. The initial sync was some 30+ gb.