From c535e518708b0f2a65b77864eb9bdd21c7715c7d Mon Sep 17 00:00:00 2001 From: Nicolas Vigier Date: Sun, 16 Sep 2012 21:14:45 +0000 Subject: add hourly, daily, weekly, monthly cron files --- modules/rsnapshot/manifests/init.pp | 41 ++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) (limited to 'modules/rsnapshot/manifests/init.pp') diff --git a/modules/rsnapshot/manifests/init.pp b/modules/rsnapshot/manifests/init.pp index 15b54735..2d6cbe00 100644 --- a/modules/rsnapshot/manifests/init.pp +++ b/modules/rsnapshot/manifests/init.pp @@ -8,6 +8,23 @@ class rsnapshot { group => root, mode => 0700, } + + @rsnapshot::cron_file { 'hourly': } + @rsnapshot::cron_file { 'daily': } + @rsnapshot::cron_file { 'weekly': } + @rsnapshot::cron_file { 'monthly': } + } + + define cron_file($rsnapshot_conf = []) { + $filepath = "/tmp/cron.${name}_rsnapshot-backups" + $rsnapshot_arg = ${name} + file { $filepath: + ensure => present, + content => template('rsnapshot/cron_file'), + owner => root, + group => root, + mode => 0755, + } } # - 'backup' is an array of "source destination" to backup @@ -25,11 +42,33 @@ class rsnapshot { $weekly_interval = '4', $monthly_interval = '3' ) { - file { "${rsnapshot::base::confdir}/${name}.conf": + $conffile = "${rsnapshot::base::confdir}/${name}.conf" + file { $conffile: owner => root, group => root, mode => 0700, content => template('rsnapshot/rsnapshot.conf'), } + + if ($hourly_interval != '0') { + Rsnapshot::Cron_file <| title == 'hourly' |> { + $rsnapshot_conf +> $conffile, + } + } + if ($daily_interval != '0') { + Rsnapshot::Cron_file <| title == 'daily' |> { + $rsnapshot_conf +> $conffile, + } + } + if ($dweekly_interval != '0') { + Rsnapshot::Cron_file <| title == 'weekly' |> { + $rsnapshot_conf +> $conffile, + } + } + if ($monthly_interval != '0') { + Rsnapshot::Cron_file <| title == 'monthly' |> { + $rsnapshot_conf +> $conffile, + } + } } } -- cgit v1.2.1