May 18, 2008 3:32 PM   Subscribe

What's the best backup solution for (Ubuntu) Linux? I need a backup as complete as possible of a home directory of ~10+ GB, nightly, etc. I have two large external USB 2.0 drives for the purpose...

I know some of the options (which I'll list out), but I'm wondering which is the community favorite / most popular / most reliable / most likely to be maintained.

What I've considered: flyback, rsync, rdiff, rsnapshot, timevault, unison...

Thanks! I've gone too long without good backups, and my home directory is becoming more and more valuable. Oh, and it absolutely must backup hidden directories, although I would guess that's standard (a lot of my data is SVN repos). Something that could back up various other files (my apache configs, site-applications, etc files are fairly vital). Maybe a separate system that would do basically a drive image on a less frequent basis?

posted by tmcw to Computers & Internet (11 answers total) 12 users marked this as a favorite
I use rsnapshot over SSH to (well, technically "from") a server in Denmark (gotta be ready for that hemisphere-destroying meteor strike!), but I'm starting to think about just using git - have you considered just scripting nightly SVN commits to a couple of tracking repositories?
posted by nicwolff at 3:53 PM on May 18, 2008

Grsync is a really nice GUI for rsync. It's available in the Ubuntu repositories. I use it to keep a mirror of /home including hidden files. It's highly configurable (permissions, keep or delete deleted files, compress on destination, etc.). Like anything rsync, it will take awhile the first time but after that it just finds changes and is superduper speedy and reliable.
posted by quarterframer at 3:58 PM on May 18, 2008

Seconding git. I use it for some backups, and it's so awesome it's scary. It's got a bit of a learning curve but it's so worth it.

a good introduction to git.
posted by the dief at 4:57 PM on May 18, 2008

So you want to keep multiple copies of the backups so that you can refer to old revisions of files? I've used rsnapshot to do exactly this. It's in the Ubuntu repositories and well-documented. rdiff-backup will require less storage to store the changes, but you won't be able to easily browse all the old files.

I use unison as well, but it's two-way synchronization capabilities aren't needed for backups.
posted by PueExMachina at 5:10 PM on May 18, 2008

Duplicity looks nice, and next time I set up backups somewhere I intend to try it out. My current tool is flexbackup ("for when amanda is too much and tarring things up by hand is not enough"), whose main selling point (to me) is ease of configuration and use.

I've been backing up to an account and I've been quite pleased with them.
posted by hattifattener at 6:00 PM on May 18, 2008

So far.. errors.

rsnapshot tries to chown files. It's a FAT32 filesystem. Hence, no.

flyback errors on start and crashes on backing up.

git is some good kool-aid, but for local files? I'm not sure what the best technique would be

TimeVault does not play well with removable media

rsync (just bare, with the options jwz recommends) is running currently and seems to be doin' it, but it's running into the same chown / chgrp errors as rsnapshot. Not sure which road to take here, since having the disks accessible to XP/OSX is kind of essential as well.
posted by tmcw at 7:44 PM on May 18, 2008

I wholeheartedly recommend rsync. A big part of rsync is that, for your home dir of 10+ GB, it will only actually need to update stuff that changes on a day-to-day basis (after the first backup). Sounds like that's what you want.

I use monotone, a distributed version control program, for stuff I want to keep under version tracking (config files, my source code and scripts, anything hand-written instead of generated.). Looks like other people have recommended git for the same purposes, and I hear good stuff about mercurial, but I prefer monotone -- they're all quite good though.

I use rsync for everything else (including my music collection). VC and rsync also complement each other ("keep track of the changes I make to these things in minute detail, and try to keep this other stuff backed up too"). (This is between my desktop and laptop, copied remotely via ssh to my web server.)
posted by trouserbat at 7:54 PM on May 18, 2008

> It's a FAT32 filesystem. Hence, no.
You probably want to run a native filesystem for backups, particularly if you've got "two large external USB 2.0 drives for the purpose". The filesystem journaling, etc., will be helpful.

And while I couldn't cite this if pressed, to my understanding, git development hasn't placed much priority on being Windows-portable. I've heard (similarly secondhand) that rsync is fine on Windows, though as always you will probably need to double-check the settings. Best of luck.
posted by trouserbat at 8:00 PM on May 18, 2008

Point taken. I'll format one of the drives to test. ext3, I guess? (prays that this doesn't brick the drive.)
posted by tmcw at 8:15 PM on May 18, 2008

I use rdiff-backup. Its method of generating actual incremental snapshots just seems better to me than the rsnapshot technique of just hard-linking everything together. It also keeps a separate copy of the metadata (permissions, etc.), so I think it would even work on a FAT32 target, although I haven't tried it.

At my current rate, after excluding a few unnecessary directories like the Firefox cache, I'll probably be able to go a couple months at least without having to expire the old snapshots, which could be pretty useful at some point.

rdiff-backup also does a good job of handling large files that don't change much. e.g., I have a VirtualBox disk image that is about 3 gigs, but rdiff-backup will figure out if only 10 megs have changed since the last backup.
posted by dixie flatline at 2:31 AM on May 19, 2008

ext3 formatted, now I've got fairly minor mounting & unmounting tweaks. flyback works sorta.
posted by tmcw at 2:56 PM on May 19, 2008

« Older Where can I stash my car for c...   |  I'm writing a paper in Microso... Newer »
This thread is closed to new comments.