n8gray.org

Hey there OS X user! Do you back up your files? Of course you do! (Right? Right???) But do your backups work? Really? Are you sure? Have you checked?

Backup Bouncer is here to help keep the ugly backup tools out of the club. It’s a command-line-based test suite that makes it easy to find out how bad (or good, if you’re lucky) your backup software is. It aims to be a comprehensive test for preservation of all OS X file metadata. The initial release tests for preservation of:

  • Basic permissions, ownership, and timestamps
  • Symbolic links
  • Ownership of symbolic links
  • Hard links
  • Resource forks
  • Finder flags
  • Finder locks
  • Finder creation date
  • BSD flags
  • Extended attributes (on files, directories, and symbolic links)
  • Access Control Lists (on files, directories, and symbolic links)
  • FIFOs
  • Devices
  • Combinations of the above

Backup Bouncer can do many things to make testing easy for you. It can:

  • Create test volumes
  • Populate them with interesting files
  • Run a test suite of popular (and not-so-popular) command-line copiers, including cp, rsync, tar, ditto, pax, and xar
  • Verify the results of a copy, either from its own test suite or your favorite command-line or graphical tool

It also includes an autopilot script to make test volumes, populate them, run the test suite, and verify the results. For a more detailed description and some sample output, see my blog entry on the initial release of Backup Bouncer.

Download version 0.1.3 here

You can also get the 0.1.3 release via subversion:

svn co http://svn.n8gray.org/svnroot/n8gray/public/backup-bouncer-tags/release-0.1.3

Or follow the development branch:

svn co http://svn.n8gray.org/svnroot/n8gray/public/backup-bouncer

Changelog:

0.1.3: Overhauled priority system. Add test for combination of hard link + resource fork, which Apple’s rsync fails.
0.1.2: Leopard fixes for xattrs. Adds tests for dangling symlinks and xattrs on symlinks.
0.1.1: Fixed a problem with the ACL tests.
0.1.0: Initial release