blob: bc7e03ba449d73080ecce18d0995c3b82387fe3b [file] [log] [blame]
===================
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
.. code-block:: yaml
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
.. code-block:: yaml
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
.. code-block:: yaml
backupninja:
client:
enabled: true
target:
engine: dup
url: s3+http://bucket-name/folder-name
auth:
awsaccesskeyid: awsaccesskeyid
awssecretaccesskey: awssecretaccesskey
Backup client with webdav target
.. code-block:: yaml
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
.. code-block:: yaml
backupninja:
client:
enabled: true
auto_backup_disabled: false
backup_times:
day_of_week: 1
hour: 2
minute: 32
.. code-block:: yaml
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
.. code-block:: yaml
backupninja:
server:
enabled: true
rdiff: true
key:
client1.domain.com:
enabled: true
key: ssh-key
Backup server without strict client policy restriction
.. code-block:: yaml
backupninja:
server:
restrict_clients: false
Backup client with local storage
.. code-block:: yaml
backupninja:
client:
enabled: true
target:
engine: local
Client scheduling in rsync engine
=================================
Client run backup at 5am every day.
.. code-block:: yaml
backupninja:
client:
enabled: true
target:
engine: rsync
scheduling:
when:
- everyday at 05
Client run backup in mupltiple times.
.. code-block:: yaml
backupninja:
client:
enabled: true
target:
engine: rsync
scheduling:
when:
- everyday at 5
- Tuesday at 05:30
- 25 at 23:45
- hourly
Enable color for debug logs
.. code-block:: yaml
backupninja:
client:
enabled: true
log:
color: true
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
================
* https://labs.riseup.net/code/projects/backupninja/wiki/Configuration
* http://www.debian-administration.org/articles/351
* http://duncanlock.net/blog/2013/08/27/comprehensive-linux-backups-with-etckeeper-backupninja/
* https://github.com/riseuplabs/puppet-backupninja
* http://www.ushills.co.uk/2008/02/backup-with-backupninja.html