Puppet Class: alkivi_backup::mysql

Defined in:
manifests/mysql.pp

Overview

Parameters:

  • server (Any)
  • db_exclude (Any) (defaults to: ['information_schema', 'performance_schema', 'mysql' ])
  • do_monthly (Any) (defaults to: '02')
  • do_weekly (Any) (defaults to: '6')
  • rotation_daily (Any) (defaults to: '7')
  • rotation_weekly (Any) (defaults to: '35')
  • rotation_monthly (Any) (defaults to: '150')
  • mailcontent (Any) (defaults to: 'quiet')
  • mail_address (Any) (defaults to: 'backup@alkivi.fr')
  • single_transaction (Any) (defaults to: 'yes')


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'manifests/mysql.pp', line 1

class alkivi_backup::mysql(
  $server,
  $db_exclude         = ['information_schema', 'performance_schema', 'mysql' ],
  $do_monthly         = '02',
  $do_weekly          = '6',
  $rotation_daily     = '7',
  $rotation_weekly    = '35',
  $rotation_monthly   = '150',
  $mailcontent        = 'quiet',
  $mail_address       = 'backup@alkivi.fr',
  $single_transaction = 'yes',
) {


  validate_string($server)

  File {
    ensure => present,
    owner  => 'root',
    group  => 'root',
  }

  # Backup script
  file { '/root/alkivi-scripts/alkivi-backup-mysql':
    mode    => '0750',
    source  => 'puppet:///modules/alkivi_backup/alkivi-backup-mysql',
    require => File['/root/alkivi-scripts/'],
  }

  file { '/root/backup-mysql':
    ensure => directory,
    mode   => '0750',
  }

  # Backup conf
  file { '/etc/alkivi.conf.d/backup-mysql.conf':
    mode    => '0640',
    content => template('alkivi_backup/backup-mysql.conf.erb'),
    require => File['/etc/alkivi.conf.d/'],
  }

  # Crontab
  cron { 'mysql-backup':
    command => '/root/alkivi-scripts/alkivi-backup-mysql 1>/dev/null',
    user    => root,
    hour    => 0,
    minute  => 42,
  }
}