Brad Fitzpatrick (brad) wrote,
Brad Fitzpatrick
brad

Brackup -- encrypted, over-the-net, multi-versioned backup

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.
Tags: brackup, perl, tech
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 6 comments