brad's life - Brackup -- encrypted, over-the-net, multi-versioned backup [entries|archive|friends|userinfo]
Brad Fitzpatrick

[ website | bradfitz.com ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Brackup -- encrypted, over-the-net, multi-versioned backup [Mar. 19th, 2006|11:46 pm]
Previous Entry Share Next Entry
[Tags|, , ]

I've renamed wsbackup to "Brackup". dina suggested "ass that back up" or just "assthat", which we later evolved into "Back that NAS up" but it was getting complicated. So Brackup.

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.
LinkReply

Comments:
[User Picture]From: brad
2006-03-21 12:08 am (UTC)

Re: Net::Amazon::S3

(Link)

Artur told me that was in progress, so I waited. :-)

Thanks!