I have been battling with developing a good backup solution at home for a while now. It seems that unless you are a large enterprise (with money) or just have one computer, there are not really any good options for backups.

We have 5 computers in the house, all running either OS X, Windows, or Fedora. Each provide some tools to do backups, but generally require purchasing an application, constantly having an external disk attached to the laptops, or just don't work (looking at you windows).

I have tried various methods. Each one failed.

What I ended up doing, and it hasn't been too expensive, is building a dedicated backup server running fedora 12 with 2tb in a raid 1 and a 250gb system drive. I installed BackupPC on it to backup 2 webservers, the backup server itself, and the music production machine. What I struggled with was the laptops. They float, the ip changes, and they are not always on. The easy solution, to fix most of the issues, was to give the laptops static ips. It works, but I have yet to run into the problem of the machine not being on, or closing the lid mid backup.

Anyways, it's working well so far. My laptop is currently being backed up (165gb), although it is taking a while. 24 hours in and about half way done.

The next step is to get 2 2tb external drives to backup the backup server on a rotating schedule. Just in case!

What do you do for backups? This is something I am taking very seriously now and am curious how you handle this in a home environment.

Obviously setting up BackupPC, ssh-keys, etc, is not something that everyone can just do. There has to be a good midrange backup option to backup a variety of computers at home.

There are web based offsite backup options like Carbonite, etc, but we have around 1.2tb of data to backup here. Media consumption has become all digital at the house. We are only going to require more space. Doing this with an online backup service doesn't seem reasonable or feasible.

I used to use Amanda at home but for the last few years I have just used rsync jobs in cron to sync only critical directories (/home /etc, etc) to my main desktop/file server. It works really well actually and rsync only copies things that have changed (and only parts of files that have changed).

For my web servers I have a nightly tar job that creates a full compressed backup of all the web directories after doing db dumps and then I have a job on my file server to pull a copy of the latest backup job to it. That way if the drive goes I have a good backup on another machine.