summaryrefslogtreecommitdiff
path: root/manifests/server/cron/backup.pp
blob: 33b8f0fbedb507d3944e16bca6c1a833061d2574 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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'] ],
   }
}