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
50
51
52
53
54
55
56
57
58
59
60
61
62
|
class mirror {
class base {
$bindir = '/home/mirror/bin'
file { "$bindir":
ensure => directory,
owner => mirror,
group => mirror,
mode => 755
}
group {"mirror":
ensure => present,
}
user {"mirror":
ensure => present,
comment => "System user use to run mirror scripts",
managehome => true,
gid => mirror,
shell => "/bin/bash",
}
}
define mirrordir ($remotehost, $remotedir, $localdir) {
include base
file { "mirror_$name":
path => "$bindir/$name",
ensure => present,
owner => root,
group => root,
mode => 755,
content => template("mirror/mirrordir"),
}
cron { "mirror_$name":
user => mirror,
minute => [0, 10, 20, 30, 40, 50],
command => "$bindir/$name",
require => File["$name"],
}
}
# For main Mageia mirror
class main inherits base {
file { "update_timestamp":
path => "$bindir/update_timestamp",
ensure => present,
owner => root,
group => root,
mode => 755,
content => template("mirror/update_timestamp")
}
cron { mirror:
user => mirror,
hour => 10,
minute => 14,
command => "$bindir/update_timestamp",
require => File["update_timestamp"],
}
}
}
|