package { ["rsync", "xinetd"]: ensure => present }
service { "xinetd": ensure => running }
include rsyncd
$password = generate("/usr/bin/pwgen", 8, 1)
file { "/backup-mysql":
ensure => directory,
mode => 0775,
owner => "dba",
group => "dba",
}
file { "/home/dba/rsyncd.secret":
content => "backup:${password}",
replace => no,
mode => 0460,
owner=> "root",
group => "dba",
require => User["dba"],
}
rsyncd::export { "backup":
path => "/backup-mysql",
chroot => true,
readonly => true,
uid => "dba",
gid => "dba",
users => "backup",
secrets => "/home/dba/rsyncd.secret",
allow => "192.168.0.0/24",
require => [File["/backup-mysql"], File["/home/dba/rsyncd.secret"]],
prexferexec => "/home/dba/bin/pre-exec.sh"
postxferexec => "/home/dba/bin/post-exec.sh"
}