From 9afb297ee9ea87061b83fa17d4195946443ed80e Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Wed, 20 Aug 2014 11:32:52 -0300 Subject: Changes for autoloading --- manifests/duplicity.pp | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 manifests/duplicity.pp (limited to 'manifests/duplicity.pp') diff --git a/manifests/duplicity.pp b/manifests/duplicity.pp new file mode 100644 index 0000000..115efb1 --- /dev/null +++ b/manifests/duplicity.pp @@ -0,0 +1,48 @@ +# local backups using duplicity +define backup::duplicity( + $encryptkey = false, + $password = false, + $order = 50, + $ensure = present, + $full_if_older_than = "1M", + $remove_older_than = "45D", + $remove_all_but_n_full = "1", + $periodic_check = absent, + $directory = "${backup::params::backupdir}/duplicity" +) { + + case $encryptkey { false: { err("need to define a key!") } } + case $password { false: { err("need to define password!") } } + + $exclude_unencrypted = $backup::params::backup_exclude_unencrypted + $include_unencrypted = $backup::params::backup_include_unencrypted + + include backupninja::client + + # backup dest folder + file { "${backup::params::backupdir}/duplicity": + ensure => directory, + owner => "root", + group => "root", + } + + # the backupninja rule for this duplicity backup + file { "${backupninja::client::defaults::configdir}/${order}_duplicity-${title}.sh": + ensure => $ensure, + content => template('backup/dup.conf.erb'), + owner => root, + group => root, + mode => 0600, + require => File["${backupninja::client::defaults::configdir}"], + } + + # check duplicity backups once a week + cron { "duplicity_check-$title.$domain": + command => "/bin/bash ${backupninja::client::defaults::configdir}/${order}_duplicity-${title}.sh --check", + user => root, + hour => "0", + minute => "0", + weekday => "0", + ensure => $periodic_check, + } +} -- cgit v1.2.3