diff options
author | Jamie McClelland <jm@mayfirst.org> | 2011-03-30 10:41:39 -0400 |
---|---|---|
committer | Jamie McClelland <jm@mayfirst.org> | 2011-03-30 10:41:39 -0400 |
commit | aaa21c19b69d381becc1d801d6664b71ba0db525 (patch) | |
tree | f5981517e1dc3694e59892de1ffa0fcedd662afa | |
parent | 625ffd23ee88b26287fadd0db33d1ceababbac21 (diff) | |
download | puppet-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.pp | 18 | ||||
-rw-r--r-- | templates/backupninja.cron.erb | 6 |
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 |