Crackup

Crackup is a pretty simple, pretty secure remote backup solution for folks who want to keep their data securely backed up but aren’t particularly concerned about bandwidth usage.

Crackup is ideal for backing up lots of small files, but somewhat less ideal for backing up large files, since any change to a file means the entire file must be transferred. If you need something bandwidth-efficient, try Duplicity.

Backups are compressed and (optionally) encrypted via GnuPG and can be transferred to the remote location over a variety of protocols, including FTP. Additional storage drivers can easily be written in Ruby.

Requirements

  • Ruby 1.8.4+
  • GnuPG 1.4.2+ (if you want to encrypt your backups)

Download/Install

The latest version of Crackup is always available via RubyGems:

gem install crackup

Or you can download it yourself:

Links

Usage

crackup

crackup -t <url> [-p <pass>] [-x <file>] [-v] [<file|dir> ...]

  -p, --passphrase <pass>  Encryption passphrase (if not specified, no
                           encryption will be used)
  -t, --to <url>           Destination URL (e.g.,
                           ftp://user:pass@server.com/path)
  -v, --verbose            Verbose output
  -x, --exclude <file>     Exclude files and directories whose names match the
                           list in the specified file
  -h, --help               Display usage information (this message)
      --version            Display version information

crackup-restore

crackup-restore -f <url> -t <path> [-p <pass>] [-v] [<file|dir> ...]
crackup-restore -f <url> -l [-p <pass>] [-v]

  -f, --from <url>         Remote URL to restore from (e.g.,
                           ftp://user:pass@server.com/path)
  -l, --list               List all files at the remote location
  -p, --passphrase <pass>  Encryption passphrase (if not specified, no
                           encryption will be used)
  -t, --to <path>          Destination root directory for the restored files
  -v, --verbose            Verbose output
  -h, --help               Display usage information (this message)
      --version            Display version information

Examples

crackup

Create or update a local backup of your home directory

crackup -t /backups/home ~/

Create or update an encrypted FTP backup of your home directory

crackup -t ftp://user:pass@example.com/backups/home -p passphrase ~/

Create or update a backup of several directories and files to an SMB share

crackup -t //smbhost/backups/example /etc /usr/local/etc ~/*.rb

crackup-restore

Restore a local backup to your home directory

crackup-restore -f /backups/home -t ~/

Restore an encrypted FTP backup to a temporary directory

crackup-restore -f ftp://user:pass@example.com/backups/home -t /tmp/restore -p passphrase

Restore only the /etc and /usr/local/etc directories from an SMB backup to a temporary directory

crackup-restore -f //smbhost/backups/example -t /tmp/restore /etc /usr/local/etc

Restore only *.rb files from an SMB backup to a temporary directory

crackup-restore -f //smbhost/backups/example -t /tmp/restore *.rb

Display a list of all files and directories contained in the specified local backup

crackup-restore -f /backups/home -l

Copyright

Copyright © 2006 Ryan Grove. All rights reserved.
Crackup is free open source software distributed under the terms of the BSD License.