diff options
Diffstat (limited to 'manifests/server/cron')
-rw-r--r-- | manifests/server/cron/backup.pp | 22 | ||||
-rw-r--r-- | manifests/server/cron/optimize.pp | 18 |
2 files changed, 40 insertions, 0 deletions
diff --git a/manifests/server/cron/backup.pp b/manifests/server/cron/backup.pp new file mode 100644 index 0000000..33b8f0f --- /dev/null +++ b/manifests/server/cron/backup.pp @@ -0,0 +1,22 @@ +class mysql::server::cron::backup { + + $real_mysql_backup_dir = $mysql_backup_dir ? { + '' => '/var/backups/mysql', + default => $mysql_backup_dir, + } + + file { 'mysql_backup_dir': + path => $real_mysql_backup_dir, + source => "puppet://${server}/modules/common/empty", + ensure => directory, + owner => root, group => 0, mode => 0700, + } + + cron { 'mysql_backup_cron': + command => '/usr/bin/mysqldump --default-character-set=utf8 --all-databases --all --flush-logs --lock-tables --single-transaction | gzip > ${real_mysql_backup_dir}/mysqldump.sql.gz && chmod 600 ${real_mysql_backup_dir}/mysqldump.sql.gz', + user => 'root', + minute => 0, + hour => 1, + require => [ Exec['mysql_set_rootpw'], File['mysql_root_cnf'], File['mysql_backup_dir'] ], + } +} diff --git a/manifests/server/cron/optimize.pp b/manifests/server/cron/optimize.pp new file mode 100644 index 0000000..29ee66e --- /dev/null +++ b/manifests/server/cron/optimize.pp @@ -0,0 +1,18 @@ +class mysql::server::cron::optimize { + + file { 'mysql_optimize_script': + path => "${mysql_moduledir}/server/optimize_tables.rb", + source => "puppet://${server}/modules/mysql/scripts/optimize_tables.rb", + owner => root, group => 0, mode => 0700; + } + + cron { 'mysql_optimize_cron': + command => "${mysql_moduledir}/server/optimize_tables.rb", + user => 'root', + minute => 40, + hour => 6, + weekday => 7, + require => [ Exec['mysql_set_rootpw'], File['mysql_root_cnf'], File['mysql_optimize_script'] ], + } + +} |