summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--manifests/server/backup_helpers.pp13
-rw-r--r--manifests/server/base.pp25
-rw-r--r--manifests/server/cron/backup.pp5
-rw-r--r--manifests/server/cron/optimize.pp15
4 files changed, 37 insertions, 21 deletions
diff --git a/manifests/server/backup_helpers.pp b/manifests/server/backup_helpers.pp
index 564e2ab..f9861cf 100644
--- a/manifests/server/backup_helpers.pp
+++ b/manifests/server/backup_helpers.pp
@@ -1,11 +1,14 @@
# Helpers for mysql servers
# In a dedicated class so they can
# also be pulled in somewhere else
-class mysql::server::backup_helpers{
+class mysql::server::backup_helpers (
+ $ensure = present
+) {
file{'/usr/local/bin/mysql_extract_from_backup':
- source => 'puppet:///modules/mysql/backup_helpers/mysql_extract_from_backup.sh',
- owner => root,
- group => 0,
- mode => '0555';
+ ensure => $ensure,
+ source => 'puppet:///modules/mysql/backup_helpers/mysql_extract_from_backup.sh',
+ owner => root,
+ group => 0,
+ mode => '0555';
}
}
diff --git a/manifests/server/base.pp b/manifests/server/base.pp
index 7bbf30d..0ac74f2 100644
--- a/manifests/server/base.pp
+++ b/manifests/server/base.pp
@@ -64,17 +64,24 @@ class mysql::server::base {
refreshonly => true,
}
- if $mysql::server::backup_cron {
- include mysql::server::cron::backup
- include mysql::server::backup_helpers
+ $backup_ensure = $mysql::server::backup_cron ? {
+ true => present,
+ false => absent,
}
- if $mysql::server::optimize_cron {
- class { 'mysql::server::cron::optimize':
- optimize_hour => $mysql::server::optimize_hour,
- optimize_minute => $mysql::server::optimize_minute,
- optimize_day => $mysql::server::optimize_day,
- }
+ class { 'mysql::server::cron::backup': ensure => $backup_ensure }
+ class { 'mysql::server::backup_helpers': ensure => $backup_ensure }
+
+ $cron_ensure = $mysql::server::optimize_cron ? {
+ true => present,
+ false => absent,
+ }
+
+ class { 'mysql::server::cron::optimize':
+ ensure => $cron_ensure,
+ optimize_hour => $mysql::server::optimize_hour,
+ optimize_minute => $mysql::server::optimize_minute,
+ optimize_day => $mysql::server::optimize_day,
}
service { 'mysql':
diff --git a/manifests/server/cron/backup.pp b/manifests/server/cron/backup.pp
index 671ad9c..463cd29 100644
--- a/manifests/server/cron/backup.pp
+++ b/manifests/server/cron/backup.pp
@@ -1,5 +1,7 @@
# setup a basic cronjob to backup mysql database
-class mysql::server::cron::backup {
+class mysql::server::cron::backup (
+ $ensure = present,
+) {
if $mysql::server::manage_backup_dir {
file { 'mysql_backup_dir':
ensure => directory,
@@ -12,6 +14,7 @@ class mysql::server::cron::backup {
}
cron { 'mysql_backup_cron':
+ ensure => $ensure,
command => "/usr/bin/mysqldump --default-character-set=utf8 --all-databases --create-options --flush-logs --lock-tables --single-transaction | gzip > ${mysql::server::backup_dir}/mysqldump.sql.gz && chmod 600 ${mysql::server::backup_dir}/mysqldump.sql.gz",
user => 'root',
minute => 0,
diff --git a/manifests/server/cron/optimize.pp b/manifests/server/cron/optimize.pp
index 5d4fa98..887906d 100644
--- a/manifests/server/cron/optimize.pp
+++ b/manifests/server/cron/optimize.pp
@@ -2,18 +2,21 @@
class mysql::server::cron::optimize (
$optimize_hour,
$optimize_minute,
- $optimize_day
+ $optimize_day,
+ $ensure = present,
) {
file { 'mysql_optimize_script':
- path => '/usr/local/sbin/optimize_mysql_tables.rb',
- source => 'puppet:///modules/mysql/scripts/optimize_tables.rb',
- owner => root,
- group => 0,
- mode => '0700';
+ ensure => $ensure,
+ path => '/usr/local/sbin/optimize_mysql_tables.rb',
+ source => 'puppet:///modules/mysql/scripts/optimize_tables.rb',
+ owner => root,
+ group => 0,
+ mode => '0700';
}
cron { 'mysql_optimize_cron':
+ ensure => $ensure,
command => '/usr/local/sbin/optimize_mysql_tables.rb',
user => 'root',
minute => $optimize_minute,