2.7 KiB
rsnapshot
Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with rsnapshot
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
This puppet module manages rsnapshot configuration. It's a barebones module, as it doesn't deal with managing ssh keys or cron rules to trigger rsnapshot.
At the moment, this module has been tested with Puppet 3.x and Ubuntu 12.04, 14.04 and Debian 6. If you have another OS/Puppet version you want to include, please submit a pull request!
Module Description
This module is a barebones rsnapshot installation and configuration system. It came into existing because we needed an rsnapshot module but didn't want to have it generate cron rules or setup ssh keys (rsnapshot only needs to generate local backups for us).
It is relatively trivial to then add a cron
rule to trigger rsnapshot, and managing ssh keys can be done through ssh_authorized_key
.
Setup
What rsnapshot affects
rsnapshot
package and its dependencies/etc/rsnapshot.conf
(by default)
Usage
You only need to declare the rsnapshot class, and configure the parameters you need. The class will default to sane values for your OS if you don't override some parameters.
While you can include the class as is, it wont be useful unless you specify backups
or backup_scripts
.
Reference
backups
A hash backup locations. The key is the source, the value is the destination.
class { 'rsnapshot':
backups => {
'/home/' => 'localhost/',
}
}
If you want the backup stanza to have overriden configuration options, add them to the destination, separated by a tab character:
class { 'rsnapshot':
backups => {
'/home/' => 'localhost/ one_fs=1',
}
}
backup_scripts
Exactly like backups, except that they generate backup_script
stanzas.
Limitations
The module has been tested/used in production with Puppet 3.x.
On the OS side, the module currently only works on Debian-family OSes, but we'd love to get a patch to add support for more families/operating systems.
Development
Development is happening on github, and we welcome pull requests!