Puppet Class: duplicity::common

Defined in:
manifests/common.pp

Overview

See README.md for details.

Parameters:

  • logdir_group (Any)
  • cron_hour (Any) (defaults to: fqdn_rand(6))
  • cron_minute (Any) (defaults to: fqdn_rand(60))


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
50
51
# File 'manifests/common.pp', line 2

class duplicity::common (
  $logdir_group,
  $cron_hour   = fqdn_rand(6),
  $cron_minute = fqdn_rand(60),
) {

  package {'duplicity':
    ensure => present,
  }

  file {$duplicity::logdir :
    ensure => directory,
    owner  => 'root',
    group  => $logdir_group,
    mode   => '0750',
  }

  tidy {$duplicity::logdir :
    age     => '1W',
    recurse => true,
    matches => '*.log',
  }

  file {'/usr/local/duplicity/':
    ensure  => directory,
    owner   => 'root',
    group   => 'root',
    mode    => '0750',
    purge   => true,
    force   => true,
    recurse => true,
    backup  => false,
  }

  $module_path = get_module_path($module_name)
  file {'/usr/local/duplicity/duplicity-backups.sh':
    ensure  => file,
    owner   => 'root',
    group   => 'root',
    mode    => '0750',
    content => file("${module_path}/files/duplicity-backups.sh"),
  }

  cron {'duplicity backups':
    ensure  => present,
    minute  => $cron_minute,
    hour    => $cron_hour,
    command => 'nice /usr/local/duplicity/duplicity-backups.sh',
  }
}