aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Filion <gabster@lelutin.ca>2015-03-06 17:47:09 -0500
committerGabriel Filion <gabster@lelutin.ca>2015-03-06 17:47:09 -0500
commitb2c9640c654b0d9ba2f5949ef53480c855a6d1f0 (patch)
tree37611e2ca83b20f594ea2d3cbf1316c91437c738
parent21d8dc8652a9e8910914940cc439e7a02efbf39e (diff)
parentaaa21c19b69d381becc1d801d6664b71ba0db525 (diff)
downloadpuppet-backupninja-b2c9640c654b0d9ba2f5949ef53480c855a6d1f0.tar.gz
puppet-backupninja-b2c9640c654b0d9ba2f5949ef53480c855a6d1f0.tar.bz2
Merge remote-tracking branch 'mayfirst/master' into merge_mayfirst
Conflicts: manifests/mysql.pp manifests/pgsql.pp templates/pgsql.conf.erb
-rw-r--r--manifests/config.pp18
-rw-r--r--manifests/mysql.pp3
-rw-r--r--templates/backupninja.cron.erb6
-rw-r--r--templates/mysql.conf.erb7
-rw-r--r--templates/pgsql.conf.erb8
5 files changed, 38 insertions, 4 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/manifests/mysql.pp b/manifests/mysql.pp
index ee2e71d..8e33e8e 100644
--- a/manifests/mysql.pp
+++ b/manifests/mysql.pp
@@ -18,7 +18,8 @@ define backupninja::mysql(
$order = 10, $ensure = present, $user = false, $dbusername = false, $dbpassword = false,
$dbhost = 'localhost', $databases = 'all', $backupdir = false, $hotcopy = false,
$sqldump = false, $compress = false, $configfile = true,
- $vsname = false, $sqldumpoptions = '--lock-tables --complete-insert --add-drop-table --quick --quote-names')
+ $vsname = false, $sqldumpoptions = '--lock-tables --complete-insert --add-drop-table --quick --quote-names',
+ $nodata = false)
{
$real_configfile = $configfile ? {
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
diff --git a/templates/mysql.conf.erb b/templates/mysql.conf.erb
index 82dc368..b7ac5e8 100644
--- a/templates/mysql.conf.erb
+++ b/templates/mysql.conf.erb
@@ -16,3 +16,10 @@ compress = <%= compress ? 'yes' : 'no' %>
<% if real_configfile %>
configfile = <%= real_configfile %>
<% end %>
+
+<% if nodata.is_a? String -%>
+<%= 'nodata = ' + nodata %>
+<% elsif nodata.is_a? Array -%>
+<%= "nodata = " + nodata.map { |i| "#{i}" }.join(" ") %>
+<% end -%>
+
diff --git a/templates/pgsql.conf.erb b/templates/pgsql.conf.erb
index 7781ef4..5ffa89c 100644
--- a/templates/pgsql.conf.erb
+++ b/templates/pgsql.conf.erb
@@ -4,8 +4,10 @@ vsname = <%= vsname %>
<% if backupdir %>
backupdir = <%= backupdir %>
<% end %>
-<% if databases %>
-databases = <%= databases %>
-<% end %>
+<% if databases.is_a? String -%>
+<%= 'databases = ' + databases %>
+<% elsif databases.is_a? Array -%>
+<%= "databases = " + databases.map { |i| "#{i}" }.join(" ") %>
+<% end -%>
compress = <%= compress ? 'yes' : 'no' %>