Configures rsnapshot.

OpenConcept Consulting



5,895 latest version

3.1 quality score

Version information

  • 0.2.0 (latest)
  • 0.1.1
  • 0.1.0
released Nov 24th 2015
This version is compatible with:
  • Puppet Enterprise >= 3.0.0 < 2015.3.0
  • Puppet >= 3.0.0 < 5.0.0
  • Debian

Start using this module


OpenConceptConsulting/rsnapshot — version 0.2.0 Nov 24th 2015


Build Status

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with rsnapshot
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module


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.


What rsnapshot affects

  • rsnapshot package and its dependencies
  • /etc/rsnapshot.conf (by default)


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.



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',


Exactly like backups, except that they generate backup_script stanzas.


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 is happening on github, and we welcome pull requests!