module-puppetlabs-mysql/manifests/backup/xtrabackup.pp
Liao Penghui 3694ae2a80 (MODULES-2787) Fixes for future parser
The weekday attribute of cron resource will be parse to negetive integer
with future parser. This patch is aim to ensure that the value types of
cron resouce are valid with future parser.
2015-11-05 00:11:15 +08:00

65 lines
1.7 KiB
Puppet

# See README.me for usage.
class mysql::backup::xtrabackup (
$backupuser = '',
$backuppassword = '',
$backupdir = '',
$backupmethod = 'mysqldump',
$backupdirmode = '0700',
$backupdirowner = 'root',
$backupdirgroup = $mysql::params::root_group,
$backupcompress = true,
$backuprotate = 30,
$ignore_events = true,
$delete_before_dump = false,
$backupdatabases = [],
$file_per_database = false,
$include_triggers = true,
$include_routines = false,
$ensure = 'present',
$time = ['23', '5'],
$prescript = false,
$postscript = false,
$execpath = '/usr/bin:/usr/sbin:/bin:/sbin',
) {
package{ 'percona-xtrabackup':
ensure => $ensure,
}
cron { 'xtrabackup-weekly':
ensure => $ensure,
command => "/usr/local/sbin/xtrabackup.sh ${backupdir}",
user => 'root',
hour => $time[0],
minute => $time[1],
weekday => '0',
require => Package['percona-xtrabackup'],
}
cron { 'xtrabackup-daily':
ensure => $ensure,
command => "/usr/local/sbin/xtrabackup.sh --incremental ${backupdir}",
user => 'root',
hour => $time[0],
minute => $time[1],
weekday => '1-6',
require => Package['percona-xtrabackup'],
}
file { 'mysqlbackupdir':
ensure => 'directory',
path => $backupdir,
mode => $backupdirmode,
owner => $backupdirowner,
group => $backupdirgroup,
}
file { 'xtrabackup.sh':
ensure => $ensure,
path => '/usr/local/sbin/xtrabackup.sh',
mode => '0700',
owner => 'root',
group => $mysql::params::root_group,
content => template('mysql/xtrabackup.sh.erb'),
}
}