Backup v4.x Overview

Backup allows you to model your backup jobs using a Ruby DSL:, 'Description for my_backup') do
  # ... Model Components ...

The :my_backup symbol is the model’s trigger and used to perform the job:

$ backup perform --trigger my_backup

Below is an overview of the Model Components available, which are added to define the actions to be performed.

See also Getting Started for a simple walk-through using Backup’s Generator to familiarize yourself with setting up, configuring and running a backup job.

Archives and Databases

Archives create basic tar archives. Both GNU and BSD tar are supported.

Databases create backups of one of the following supported databases:

Any number of Archives and Databases may be defined within a backup model.

Compressors and Encryptors

Adding a Compressor to your backup will compress all the Archives and Database backups within your final archive package. Backup includes a Gzip, Bzip2 and Custom compressor.

Adding an Encryptor allows you to encrypt your final backup package. Backup includes a OpenSSL and GPG encryptor.

Your final backup package might look something like this:

$ gpg --decrypt my_backup.tar.gpg --outfile my_backup.tar
$ tar -tvf my_backup.tar


You can use any number of the following Storages to store your backup:

All of the above Storages (except RSync) support:


Syncers are processed after your final backup package has been stored and allow you to perform file synchronization.

Backup includes the following Syncers:

A backup model may contain only Syncers as well.


Notifiers are used to send notifications upon successful and/or failed completion of your backup model.

Supported notification services include: