aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamie McClelland <jm@mayfirst.org>2011-03-30 10:41:39 -0400
committerJamie McClelland <jm@mayfirst.org>2011-03-30 10:41:39 -0400
commitaaa21c19b69d381becc1d801d6664b71ba0db525 (patch)
treef5981517e1dc3694e59892de1ffa0fcedd662afa
parent625ffd23ee88b26287fadd0db33d1ceababbac21 (diff)
downloadpuppet-backupninja-aaa21c19b69d381becc1d801d6664b71ba0db525.tar.gz
puppet-backupninja-aaa21c19b69d381becc1d801d6664b71ba0db525.tar.bz2
Useful to control when a cron job runs to avoid all servers backing up
at the same time. Also, specifying the backupninja command allows for wrapping it in other commands (e.g. to execute it from within a ssh-agent session so that authentication can happen via the monkeysphere).
-rw-r--r--manifests/config.pp18
-rw-r--r--templates/backupninja.cron.erb6
2 files changed, 24 insertions, 0 deletions
diff --git a/manifests/config.pp b/manifests/config.pp
index 34e3a0e..89105b3 100644
--- a/manifests/config.pp
+++ b/manifests/config.pp
@@ -18,3 +18,21 @@ define backupninja::config(
mode => 0644
}
}
+
+# Write the backupninja cron job, allowing you to specify an alternate backupninja
+# command (if you want to wrap it in any other commands, e.g. to allow it to use
+# the monkeysphere for authentication), or a different schedule to run it on.
+define backupninja::cron(
+ $backupninja_cmd = '/usr/sbin/backupninja',
+ $backupninja_test_cmd = $backupninja_cmd,
+ $cronfile = "/etc/cron.d/backupninja",
+ $min = "0", $hour = "*", $dom = "*", $month = "*",
+ $dow = "*")
+{
+ file { $cronfile:
+ content => template('backupninja/backupninja.cron.erb'),
+ owner => root,
+ group => root,
+ mode => 0644
+ }
+}
diff --git a/templates/backupninja.cron.erb b/templates/backupninja.cron.erb
new file mode 100644
index 0000000..ec392ca
--- /dev/null
+++ b/templates/backupninja.cron.erb
@@ -0,0 +1,6 @@
+# /etc/cron.d/backupninja -- cron tab entry for package backupninja
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+# # run backupninja
+<%= min %> <%= hour %> <%= dom %> <%= month %> <%= dow %> root if [ -x <%= backupninja_test_cmd %> ]; then <%= backupninja_cmd %>; fi