Useful to control when a cron job runs to avoid all servers backing up
authorJamie McClelland <jm@mayfirst.org>
Wed, 30 Mar 2011 14:41:39 +0000 (10:41 -0400)
committerJamie McClelland <jm@mayfirst.org>
Wed, 30 Mar 2011 14:41:39 +0000 (10:41 -0400)
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).

manifests/config.pp
templates/backupninja.cron.erb [new file with mode: 0644]

index 34e3a0e..89105b3 100644 (file)
@@ -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 (file)
index 0000000..ec392ca
--- /dev/null
@@ -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