cookbook 'duplicity_ng', '= 0.1.0', :supermarket
duplicity_ng
(18) Versions
0.1.0
-
Follow2
Installs/Configures duplicity_ng
cookbook 'duplicity_ng', '= 0.1.0'
knife supermarket install duplicity_ng
knife supermarket download duplicity_ng
duplicity_ng cookbook
Cookbook for installing duplicity backup cronjobs
Supported Platforms
All platforms with a duplicity package available, and support for /etc/cron.*/
directories.
Tested on Ubuntu.
Usage
Providers
To use the providers, append the following to your metadata.rb
depends 'duplicity'
duplicity_cronjob
Installs a duplicity cronjob
duplicity_cronjob 'myduplicity' do
name 'myduplicity' # Cronjob filename (name_attribute)
# Attributes for the default cronjob template
interval 'daily' # Cron interval (hourly, daily, monthly)
duplicity_path '/usr/bin/duplicity' # Path to duplicity
configure_zabbix false # Automatically configure zabbix user paremeters
logfile '/dev/null' # Log cronjob output to this file
# duplicity parameters
backend 'ftp://server.com/folder' # Backend to use (default: nil, required!)
passphrase 'supersecret' # Passphrase (leave empty to use data bag)
include %w(/etc/ /root/ /var/log/) # Default directories to backup
exclude %w() # Default directories to exclude from backup
archive_dir '/tmp/duplicity-archive' # duplicity archive directory
temp_dir '/tmp/duplicity-tmp' # duplicity temp directory
keep_full 5 # Keep 5 full backups
nice 10 # Be nice (cpu)
ionice 3 # Ionice class (3 => idle)
full_backup_if_older_than '7D' # Take a full backup after this interval
# Command(s) to run at the very beginning of the cronjob (default: empty)
exec_pre %(if [ -f "/nobackup" ]; then exit 0; fi)
# Command(s) to run after cleanup, but before the backup (default: empty)
exec_before ['pg_dumpall -U postgres |bzip2 > /tmp/dump.sql.bz2']
# Command(s) to run after the backup has finished (default: empty)
exec_after ['touch /backup-sucessfull', 'echo yeeeh']
# Take duplicity passphrase from data bag
data_bag 'duplicity'
data_bag_item node['hostname']
data_bag_secret '/etc/chef/encrypted_data_bag_secret'
data_bag_element 'passphrase'
# Alternatively, you can specify your own template to use
cookbook 'duplicity' # Cookbook to take erb template from
source 'cronjob.sh.erb' # ERB template to use
variables {} # Custom variables for ERB template
end
Contributing
- Fork the repository on Github
- Create a named feature branch (i.e.
add-new-recipe
) - Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request
License and Authors
Author:: Chris Aumann (me@chr4.org)
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
There are no cookbooks that are contingent upon this one.