Skip to content

salt-formulas/salt-formula-backupninja

Repository files navigation

Backupninja formula

Backupninja allows you to coordinate system backup by dropping a few simple configuration files into /etc/backup.d/. Most programs you might use for making backups don't have their own configuration file format.

Backupninja provides a centralized way to configure and schedule many different backup utilities. It allows for secure, remote, incremental filesytem backup (via rdiff-backup), compressed incremental data, backup system and hardware info, encrypted remote backups (via duplicity), safe backup of MySQL/PostgreSQL databases, subversion or trac repositories, burn CD/DVDs or create ISOs, incremental rsync with hardlinking.

Sample pillars

Backup client with ssh/rsync remote target

backupninja:
  client:
    enabled: true
    target:
      engine: rsync
      host: 10.10.10.208
      user: backupninja

Backup client with ssh/rsync remote target with specific rsync options

backupninja:
  client:
    enabled: true
    target:
      engine: rsync
      engine_opts: "-av --delete --recursive --safe-links"
      home_dir: /srv/volumes/backup/backupninja
      host: 10.10.10.208
      user: backupninja

Backup client with s3 remote target

backupninja:
  client:
    enabled: true
    target:
      engine: dup
      url: s3+http://bucket-name/folder-name
      auth:
        awsaccesskeyid: awsaccesskeyid
        awssecretaccesskey: awssecretaccesskey

Backup client with webdav target

backupninja:
  client:
    enabled: true
    target:
      engine: dup
      url: webdavs://backup.cloud.example.com/box.example.com/
      auth:
        gss:
          principal: host/${linux:network:fqdn}
          keytab: /etc/krb5.keytab

Backup client with exact backup times

backupninja:
  client:
    enabled: true
    auto_backup_disabled: false
    backup_times:
      day_of_week: 1
      hour: 2
      minute: 32
backupninja:
  client:
    enabled: true
    auto_backup_disabled: false
    backup_times:
      day_of_month: 24
      hour: 14
      minute: 12

Backup client with defined number of backups to keep

..code-block:: yaml

backupninja:
client:

enabled: true target:

engine: rsync host: 10.10.10.208 user: backupninja keep: 4

Backup server rsync/rdiff

backupninja:
  server:
    enabled: true
    rdiff: true
    key:
      client1.domain.com:
        enabled: true
        key: ssh-key

Backup server without strict client policy restriction

backupninja:
  server:
    restrict_clients: false

Backup client with local storage

backupninja:
  client:
    enabled: true
    target:
      engine: local

Client scheduling in rsync engine

Client run backup at 5am every day.

backupninja:
  client:
    enabled: true
    target:
      engine: rsync
    scheduling:
      when:
        - everyday at 05

Client run backup in mupltiple times.

backupninja:
  client:
    enabled: true
    target:
      engine: rsync
    scheduling:
      when:
        - everyday at 5
        - Tuesday at 05:30
        - 25 at 23:45
        - hourly

If multiple "when" options are present, then they all apply. If two configurations files are scheduled to run in the same hour, then we fall back on the alphabetical ordering specified above.

More information

Documentation and Bugs

To learn how to install and update salt-formulas, consult the documentation available online at:

http://salt-formulas.readthedocs.io/

In the unfortunate event that bugs are discovered, they should be reported to the appropriate issue tracker. Use Github issue tracker for specific salt formula:

https://github.com/salt-formulas/salt-formula-backupninja/issues

For feature requests, bug reports or blueprints affecting entire ecosystem, use Launchpad salt-formulas project:

https://launchpad.net/salt-formulas

You can also join salt-formulas-users team and subscribe to mailing list:

https://launchpad.net/~salt-formulas-users

Developers wishing to work on the salt-formulas projects should always base their work on master branch and submit pull request against specific formula.

https://github.com/salt-formulas/salt-formula-backupninja

Any questions or feedback is always welcome so feel free to join our IRC channel:

#salt-formulas @ irc.freenode.net