Changes for version 1.10 - 2010-10-31

  • permit 0 as a filename. https://rt.cpan.org/Ticket/Display.html?id=62004
  • add Riak target, allowing backups to a riak cluster (Gavin Carr)
  • add uid/gid info to metafile, and use in restores (where possible) (Gavin Carr)
  • allow multiple gpg recipients to be specified, any can restore (Alex Vandiver)
  • if IO::Compress::Gzip is available, write a compressed brackup metafile in unencrypted mode, and handle properly for reads and restores (Gavin Carr)
  • remove orphaned chunks from inventory as part of garbage collection (Gavin Carr)
  • add simple config section inheritance ('inherit' directive) (Gavin Carr)
  • convert DigestCache from is-a-Dict to has-a-Dict, allow dictionary type to be specified for both DigestCache and InventoryDatabase, add slower/ lighter iterator-based Dict::SQLite2, and (test) Dict::Null (Gavin Carr)
  • make encryption and chunk storage use filehandles (where possible) instead of scalar contents (Kostas Chatzikokolakis)
  • update metafile storage to pass filehandle instead of full contents (Gavin Carr, Kostas Chatzikokolakis)
  • make brackup-restore use brackup.conf target settings, if available e.g. for passwords (Gavin Carr)
  • sort brackup-restore files to avoid loading composite chunks from target multiple times (Kostas Chatzikokolakis)
  • write metafile as we go, instead of big bang at the end (Gavin Carr)
  • add Brackup::BackupStats implementation, brackup stats output, and --save-stats argument (Gavin Carr)
    • fix filename trailing whitespace problems with open (Gavin Carr)
    • add metafile path name escaping using String::Escape (Gavin Carr)
    • add brackup-verify-inventory utility (Gavin Carr)
    • add chunkpath and size methods to Amazon S3 target (Gavin Carr)

Documentation

do a backup using Brackup
mount a backup as a filesystem using FUSE
The brackup restore tool.
Manage your backup targets
utility to validate brackup inventory entries against the target
how Brackup works, and how to use it

Modules

Flexible backup tool. Slices, dices, encrypts, and sprays across the net.
an mp3-aware file chunker
configuration parsing/etc
noop key-value dictionary implementation, discarding everything it receives
key-value dictionary implementation, using a SQLite database for storage
key-value dictionary implementation, using a SQLite database for storage (lighter/slower version of Brackup::Dict::SQLite)
cache digests of file and chunk contents
track what chunks are already on a target
Mount a backup as a usable filesystem using FUSE
describes the source directory (and options) for a backup
describes the destination for a backup
backup to Amazon's S3 service
backup to Rackspace's CloudFiles Service
backup to a locally mounted filesystem
backup to an FTP server
backup to the App Engine target server
backup to a Riak key-value store
backup to an SSH/SFTP server

Provides

in lib/Brackup/Backup.pm
in lib/Brackup/BackupStats.pm
in lib/Brackup/BackupStats.pm
in lib/Brackup/ChunkIterator.pm
in lib/Brackup/ChunkIterator.pm
in lib/Brackup/Chunker/Default.pm
in lib/Brackup/CompositeChunk.pm
in lib/Brackup/ConfigSection.pm
in lib/Brackup/Decrypt.pm
in lib/Brackup/DecryptedFile.pm
in lib/Brackup/Dict/DBM.pm
in lib/Brackup/File.pm
in lib/Brackup/GPGProcManager.pm
in lib/Brackup/GPGProcess.pm
in lib/Brackup/Metafile.pm
in lib/Brackup/PositionedChunk.pm
in lib/Brackup/Restore.pm
in lib/Brackup/StoredChunk.pm
in lib/Brackup/Target/Filebased.pm
in lib/Brackup/TargetBackupStatInfo.pm
in lib/Brackup/Test.pm
in lib/Brackup/Util.pm