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.
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 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.
- 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
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