views:

1896

answers:

25

What is a good, secure, method to do backups, for programmers who do research & development at home and cannot afford to lose any work?

Conditions:

  1. The backups must ALWAYS be within reasonably easy reach.

  2. Internet connection cannot be guaranteed to be always available.

  3. The solution must be either FREE or priced within reason, and subject to 2 above.


Status Report

This is for now only considering free options.

The following open-source projects are suggested in the answers (here & elsewhere):

  • BackupPC is a high-performance, enterprise-grade system for backing up Linux, WinXX and MacOSX PCs and laptops to a server's disk.
  • Storebackup is a backup utility that stores files on other disks.
  • mybackware: These scripts were developed to create SQL dump files for basic disaster recovery of small MySQL installations.
  • Bacula is [...] to manage backup, recovery, and verification of computer data across a network of computers of different kinds. In technical terms, it is a network based backup program.
  • AutoDL 2 and Sec-Bk: AutoDL 2 is a scalable transport independant automated file transfer system. It is suitable for uploading files from a staging server to every server on a production server farm [...] Sec-Bk is a set of simple utilities to securely back up files to a remote location, even a public storage location.
  • rsnapshot is a filesystem snapshot utility for making backups of local and remote systems.
  • rbme: Using rsync for backups [...] you get perpetual incremental backups that appear as full backups (for each day) and thus allow easy restore or further copying to tape etc.
  • Duplicity backs directories by producing encrypted tar-format volumes and uploading them to a remote or local file server. [...] uses librsync, [for] incremental archives
  • simplebup, to do real-time backup of files under active development, as they are modified. This tool can also be used for monitoring of other directories as well. It is intended as on-the-fly automated backup, and not as a version control. It is very easy to use.

Other Possibilities:

Using a Distributed Version Control System (DVCS) such as Git(/Easy Git), Bazaar, Mercurial answers the need to have the backup available locally.

Use free online storage space as a remote backup, e.g.: compress your work/backup directory and mail it to your gmail account.

Strategies

See crazyscot's answer

+13  A: 

I prefer http://www.jungledisk.com/ . It's based on Amazon S3, cheap, multiplatform, multiple machines with a single license.

Zsolt Botykai
I second JungleDisk. Offsite, easy to use, data is on a major internet company.
Knox
I stopped mucking around with home-brew backup solutions about a year ago and switched all my home machines to JungleDisk. I love not having to think about backups anymore.
Ferruccio
The internet-connection is not always available ...
slashmais
slashmais is right, The internet is not there everytime. So does my backup external drive, when it had crashed. And again half year later. Then my main drive. No, I don't want tape or RAID5.
Zsolt Botykai
Although an internet connection is not always available, it doesn't fail as catastrophically as a hard drive or tape. When the internet comes back up, so does your backup. A dead drive or tape stays dead. The net also doesn't burn down as easily.
Martijn Heemels
It's a real shame that it's no longer what I consider "reasonably priced", since it's now a subscription. Fortunately I grabbed 4 licenses in the days when it was "pay once use forever".
romkyns
It is still affordable - mirroring helps only for disk failures - you are still exposed against disk controller failures.
weismat
+9  A: 

Scott Hanselman recommends Windows Home Server in his aptly titled post The Case of the Failing Disk Drive or Windows Home Server Saved My Marriage.

Jon Limjap
+11  A: 

usb hard disk + rsync works for me

(see here for a Win32 build)

AndrewR
I'm too scared of fires/floods to do this, and too lazy to plug one into my laptop every time I need a backup...
romkyns
+4  A: 

I'm a big fan of Acronis Trueimage.Make sure you rotate through a few backup HDDs to you have a few generations to go back to, or if one of the backups goes bang. If it's a major milestone I snail-mail a set of DVDs to Mum and she files em for me. She lives in a different state so it should cover most disasters of less-than-biblical proportions.

EDIT: Acronis has encryption via a password. I also find the bandwidth of snailmail to be somewhat infinite - 10GB overnight = 115 kb/s, give or take. Never been throttled by Australia Post.

CAD bloke
X-Ray
+2  A: 

Get an external hard drive with a network port so you can keep your backups in another room which provides a little security against fire in addition to being a simple solution you can do yourself at home.

The next step is to get storage space in some remote location (there are very cheap monthly prices for servers for example) or to have several external hard drives and periodically switch between the one at home and a remote location. If you use encryption, this can be anywhere such as a friend's or parents' place or work.

jjrv
+5  A: 

First of all: keeping backups off-site is as important for individuals as it is for businesses. If you house burns down, you don't want to loose everything.

This is especially true because it is so easy to accomplish. Personally, I have an external USB harddisk I keep at my fathers house. Normally, it is hooked up to his internet connections and I backup over the net (using rsync), but when I need to backup really big things, I collect it and copy things over USB. Ideally, I should get another disk, to spread the risk. Other options are free online storage facilities (use encryption!).

For security, just use TrueCrypt. It has a good name in the IT world, and seems to work very well.

Jan de Vos
A safety deposit box also works well for an offsite backup...
James Schek
+1  A: 

Bacula is a good software, it's open source, and shall give good performance, kind of commercial software, a bit difficult the first time to configure, but not so hard. It has good documentation

+5  A: 

Depends on which platform you are running on (Windows/Linux/Mac/...?)

As a platform independent way, I use a personal subversion server. All the valuables are there, so if I lose one of the machines, a simple 'svn checkout' will take things back. This takes some initial work, though, and requires discipline. It might not be for you?

As a second backup for the non-svn stuff, I use Time Machine, which is built-in to OS X. Simply great. :)

akauppi
+1 for time machine, but what about the case where your Time Machine drive fails, or the offsite problem?
Orion Edwards
@Orion Time Machine deals with multiple drives just fine. You need to change the System Prefs by hand, but that's all. If I didn't have to back up non-Leopard systems I'd switch from an off-site SuperDuper backup to an off-site once-a-month Time Machine backup.
Otto
+3  A: 

My vote goes for cloud storage of some kind. The problem with nearly all 'home' backups is they stay in the home, that means any catastrophic damage to the system being backed up will probably damage the backups as well (fire, flood etc). My requirements would be

1) automated - manual backups get forgotten, usually just when most needed

2) off-site - see above

3) multiple versions - that is backup to more than one thing, in case that one thing fails.

As a developer, usually data sizes for backup are relatively small so a couple of free cloud backup accounts might do. They also often fulfil part 1 as they can usually be automated. I've heard good things about www.getdropbox.com/.

The other advantage of more than 1 account is you could have one on 'daily sync' and another on 'weekly sync' to give you some history. This is nowhere near as good as true incremental backups.

Personally I prefer a scripted backup (to local hard-drives, which I rotate to work as 'offsites'. This is in large part due to my hobby (photography) and thus my relatively lame internet upstream bandwith not coping with the data volume.

Take home message - don't rely on one solution and don't assume that your data is not important enough to think about the issues as deeply as the 'Enterprise' does.

mmaibaum
+2  A: 

I second the vote for JungleDisk. I use it to push my documents and project folders to S3. My average monthly bill from amazon is about 20c.

All my projects are in Subversion on an external host.

As well as this, I am on a Mac, so I use SuperDuper to take a nightly image of my drive. I am sure there are good options in the Windows/Linux world.

I have two external drives that I rotate on a weekly basis, and I store one of the drives off-site during it's week off.

This means that I am only ever 24 hours away from an image in case of failure, and I am only 7 days from an image in case of catastrophic failure (fire theft). The ability to plug the drive in to a machine and be running instantly from the image has saved me immensely. My boot partition was corrupted during a power failure (not a hardware failure, luckily). I plugged the backup in, restored and was working again in the time it took to transfer the files of the external drive.

Toby Hede
A: 

mozi

www.mozi.com

free 2gb for home users. plenty for docs. $4.95/mo for unlimited home backups.

Jeremy
I think you mean Mozy, not mozi?
Unsliced
+5  A: 

I highly recommend www.mozy.com. Their software is easy and works great, and since it's stored on their servers you implicitly get offsite backups. No worrying about running a backup server and making sure it's working. Also, the company is backed by EMC (a leading data storage product company), so gives me enough confidence to trust them.

jwanagel
+2  A: 

These are interesting times for "the personal backup question".

There are several schools of thought now:

  1. Frequent Automated Local Backup + Periodic Local Manual Backup

    Automated: Scheduled Nightly backup to external drive.
    Manual: Copy to second external drive once per week / month / year / oops-forgot
    and drop it of at "Mom's house".
     
    Lot's of software in the field, but here's a few: There's RSync and TimeMachine on Mac, and DeltaCopy www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp for Windows.

  2. Frequent Remote Backup

    There are a pile of services that enable you to backup across you internet connection to a remote data centre. Amazon's S3 service + JungleDisk's client software is a strong choice these days - not the cheapest option, but you pay for what you use and Amazon's track record suggests as a company it will be in business as long or longer than any other storage providers who hang their shingle today.
     
    Did I mention it should be encrypted? Props to JungleDisk for handling the "encryption issue" and future-proofing (open source library to interoperate with Jungle Disk) pretty well.

  3. All of the above.

    Some people call it being paranoid ... others think to themselves "Ahhh, I can sleep at night now".


Also, it's more fault-tolerance than backup, but you should check out Drobo - basically it's dead simple RAID that seems to work quite well.

micahwittman
+2  A: 

Buy a fire-safe. This is not just a good idea for storing backups, but a good idea period.

Exactly what media you put in it is the subject of other answers here.

But, from the perspective of recovering from a fire, having a washable medium is good. As long as the temperature doesn't get too high CDs and DVDs seem reasonably resilient, although I'd be concerned about smoke damage. Ditto for hard-drives.

A flash drive does have the benefit that there are no moving parts to be damaged and you don't need to be concerned about the optical properties.

Andrew Edgecombe
A: 

Also see this question: single-best-remote-backup-provider

David Dibben
+2  A: 

Another vote for mozy.com

You get 2gb for free, or for $5/month gives you unlimited backup space. Backups can occur on a timed basis, or when your PC/Mac is not busy. It's encrypted during transit and storage.

You can retrieve files via built in software, through the web or pay for a DVD to be burned and posted back.

William Macdonald

William Macdonald
How are Mozy and DropBox different?
John
mozy is purely a backup solution. Dropbox is for syncing files between computers. It's great for team, and gives a sort of Source Code Control that is very easy to use.
William Macdonald
+2  A: 

If you feel like syncing to the cloud and don't mind the initial, beta, 2GB cap, I've fallen in love with Dropbox.

It has versions for Windows, OSX, and Linux, works effortlessly, keeps files versioned, and works entirely in the background based on when the files changed (not a daily schedule or manual activations).

Ars Technica and Joel Spolsky have both fallen in love (though the love seems strong with Spolsky, but lets pretend!) with the service if the word of a random internet geek is not enough.

dcousineau
A: 

For backup software try the free Karen's Replicator.

b3
A: 

My vote goes to dirvish (for linux). It uses rsync as backend but is very easy to configure. It makes automatic, periodically and differential backups of directories. The big benefit is, that it creates hardlinks to all files not changed since the last backup. So restore is easy: Just copy last created directory back - instead of restoring all diffs one after another like other differential backup tools need to do.

+1  A: 

Or simply just set up a gmail account and mail it to yourself :) Unless you're a bit paranoid about google knowing about your stuff since you said research. It doesn't help you much with structure and stuff but it's free, big storage and off-site so quite safe.

Niklas Winde
Can always encrypt the stuff I mail to myself, but problem is as stated that the internet connection is not always gauranteed to be there ...
slashmais
... on further thought: for additional off-site backup this sounds good!
slashmais
You're kidding right, slashmais? Almost any option mentioned is better than using Gmail as backup! Yes it's off-site, but there's no way to manage versioning, encryption, automated backups, etc.
Martijn Heemels
A: 

As stated here already:

MirrorFolder works really great for syncing with USB-Drives

pointernil
+3  A: 

mozy.com is king. I started using it just to backup code and then ponied up the 5 bux a month to backup my personal pictures and other stuff that I'd rather not lose if the house burns down. The initial backup can take a little while but after that you can pretty much forget about it until you need to restore something.

Echostorm
+1  A: 

If you use OS X 10.5 or above then the cost of Time Machine is the cost of an external hard drive. Not only that, but the interface is dead simple to use. Open the folder you wish to recover, click on the time machine icon, and browse the directory as if it was 1999 all over again!

I haven't tried to encrypt it, but I imagine you could use truecrypt.

Yes this answer was posted quite some time after the question was asked, however I believe it should help those who stumble across this posting in the future (like I did).

Mike
+2  A: 

Here are the features I'd look out for:

  • As near to fully automatic as possible. If it relies on you to press a button or run a program regularly, you will get bored and eventually stop bothering. An hourly cron job takes care of this for me; I rsync to the 24x7 server I run on my home net.
  • Multiple removable backup media so you can keep some off site (and/or take one with you when you travel). I do this with a warm-pluggable SATA drive bay and a cron job which emails me every week to remind me to change drives.
  • Strongly encrypted media, in case you lose one. The linux encrypted device support (cryptsetup et al) does this for me.
  • Some sort of point-in-time recovery, but consider carefully what resolution you want. Daily might be enough - having multiple backup media probably gets you this - or you might want something more comprehensive like Apple's Time Machine. I've used some careful rsync options with my removable drives: every day creates a fresh snapshot directory, but files which are unchanged from the previous day are hard linked instead of copied, to save space.
crazyscot
+1  A: 

Setup a Linux or xBSD server:

-Setup a source control system of your choice on it.
--Mirror Raid (raid 1) at min
--Daily (or even hourly) backups to external drive[s].

From the server you could also setup an automatic offsite backup. If the internet is out, you'd still have your external drive and just have it auto sync once it comes back.

Once it's setup it should be about 0 work.

You don't need anything "fancy" for offsite backup. Get a webhost that allows storing non-web data. sync via sftp or rsync over ssh. Store data on other end in true crypt container if your paranoid.

If you work for an employeer/contractor also ask them. Most places already have something in place or let you work with their IT.

dime