puppet-dbbackup
Table of Contents
Overview
This is a module for deploying a backup solution for mysql,postgresql and LDAP databases.
It configures two things, the dump_databases
script in /usr/local/bin/
, and
a sytemd timer+service to start it. multiple parameters are exposed to
configure the history you want to keep and also the backup interval. All
parameters have puppet-strings
documentation in the REFERENCE.md. Dependingon the database you
backup, multiple CLI tools are required:
- psql
- pg_dumpall
- mysql
- mysqldump
- slapcat
- pigz
The script always assumes that it's executed on the same machine that runs the database. The dependencies aren't managed by this module.
Example configuration
You can simply include the class and it will do dumps every 1 hour and never delete them:
include dbbackup
you can also configure parameter via Hiera or Puppet DSL. An example:
dbbackup::backuphistory: 730
dbbackup::destination: '/var/dumps'
dbbackup::interval: '2h'
Tests
This module has several unit tests and linters configured. You can execute them by running:
bundle exec rake test
Detailed instructions are in the CONTRIBUTING.md file.
Contributions
Contribution is fairly easy:
- Fork the module into your namespace
- Create a new branch
- Commit your bugfix or enhancement
- Write a test for it (maybe start with the test first)
- Create a pull request
Detailed instructions are in the CONTRIBUTING.md file.
License and Author
This module was originally written by Tim Meusel. It's licensed with AGPL version 3.