It's not done, but it's damn close. Here's svn (props to Artur for setting it up):
http://code.sixapart.com/svn/brackup/trunk/
Here's my ~/.brackup.conf:
sammy:trunk $ cat ~/.brackup.conf [TARGET:raidbackups] type = Filesystem path = /raid/backup/brackup [SOURCE:proj] path = /raid/bradfitz/proj/ chunk_size = 5m gpg_recipient = 5E1B3EC5 [SOURCE:bradhome] chunk_size = 64MB path = /raid/bradfitz/ ignore = ^\.thumbnails/ ignore = ^\.kde/share/thumbnails/ ignore = ^\.ee/minis/ ignore = ^build/ ignore = ^(gqview|nautilus)/thumbnails/You define backup sources and targets, then do:
$ ./brackup --from=proj --to=raidbackups
The "type" parameter on a [TARGET:...] is the subclass of Brackup::Target to use for storage.
Classes:
./lib/Brackup/DigestCache.pm
./lib/Brackup/Backup.pm
./lib/Brackup/Target/Amazon.pm
./lib/Brackup/Target/Filesystem.pm
./lib/Brackup/Target.pm
./lib/Brackup/File.pm
./lib/Brackup/Config.pm
./lib/Brackup/Root.pm
./lib/Brackup/Chunk.pm
The main backup routine is simple, see Brackup::Backup's 'backup' method.
I'll post again when it works. For now you'll probably want to stay away. Everything's subject to change, so please delay writing new Target subclasses.