No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Tarsnap cookbook

This cookbook installs and configures tarsnap. Optionally it can also install and configure tarsnapper.



  • FreeBSD 8.x and 9.x
  • Ubuntu 10.04, 11.10 and 12.04
  • Debian 6.x
  • CentOS 5.8 and 6.3

Warning: at the moment the tarsnapper recipe is somewhat broken on CentOS 5.8.


This cookbook in the source repository contains minitest tests.


General settings

  • node['tarsnap']['version'] - The version of tarsnap to install. Defaults to "1.0.32".
  • node['tarsnap']['cachedir'] - Value for cachedir directive. Defaults to "/usr/local/tarsnap-cache".

Platform specific

In order to support the broadest number of platforms, several attributes are determined based on the node's platform. See the attributes/default.rb file for default values in the case statement.

  • node['tarsnap']['install_method'] - Can be either ports (for FreeBSD) or source (for distros that don't have a pre-packaged version of tarsnap).
  • node['tarsnap']['conf_dir'] - The directory where configuration files should be stored.
  • node['tarsnap']['private_key'] - The private key for connecting to tarsnap.
  • node['tarsnap']['maxbw_rate'] - Limit download and upload bandwidth used to bytespersecond bytes per second. By default this is unset, so no cap will be used.

Tarsnapper settings

  • node['tarsnapper']['retention'] - How long to retain the backups; see the documentation for tarsnapper.
  • node['tarsnapper']['jobs'] - A hash containing the backup jobs for tarsnapper; see the documentation for tarsnapper.
  • node['tarsnapper']['packages'] - Platform-specific dependencies for tarsnapper.
  • node['tarsnapper']['cron']['setup'] - A boolean switch to control the creation of a cronjob to automatically run tarsnapper; defaults to true.
  • node['tarsnapper']['cron']['minute'] - The minute the tarsnapper entry should run; defaults to 30.
  • node['tarsnapper']['cron']['hour'] - The hour the tarsnapper entry should run; defaults to 3.
  • node['tarsnapper']['cron']['day'] - The day the tarsnapper entry should run; defaults to Unset (Defaults to *).
  • node['tarsnapper']['cron']['month'] - The month the tarsnapper entry should run; defaults to Unset (Defaults to *).
  • node['tarsnapper']['cron']['weekday'] - The weekday the tarsnapper entry should run; defaults to Unset (Defaults to *).



The default recipe installs tarsnap by calling the appropriate recipe, then builds a configuration file.

Due to tarsnap's security model, you will need to manually create a key on each node.


Installs tarsnap from FreeBSD ports.


Build and installs tarsnap from a source tarball.


Installs and configures tarsnapper.

License and Authors

Author:: Andrea Campi

Copyright:: 2011-2012, ZephirWorks

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.