Backup v4.x Overview

Backup allows you to model your backup jobs using a Ruby DSL:

Backup::Model.new(:my_backup, 'Description for my_backup') do
  # ... Model Components ...
end

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
  my_backup/
  my_backup/archives/
  my_backup/archives/user_avatars.tar.gz
  my_backup/archives/log_files.tar.gz
  my_backup/databases/
  my_backup/databases/PostgreSQL.sql.gz
  my_backup/databases/Redis.rdb.gz

Storages

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

All of the above Storages (except RSync) support:

Syncers

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

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

Supported notification services include: