puppet/psacct/manifests/init.pp

71 lines
1.3 KiB
Puppet

# Enable process accounting.
#
class psacct {
case $kernel {
linux: {
include psacct::linux
}
openbsd: {
include psacct::openbsd
}
default: {
fail("psacct module not supported in ${kernel}")
}
}
}
# Enable process accounting on Linux hosts.
#
class psacct::linux {
package { "psacct":
name => $operatingsystem ? {
ubuntu => "acct",
default => "psacct",
},
ensure => installed,
}
service { "psacct":
name => $operatingsystem ? {
ubuntu => "acct",
default => "psacct",
},
ensure => running,
enable => true,
hasstatus => true,
require => Package["psacct"],
}
}
# Enable process accounting on OpenBSD hosts.
#
class psacct::openbsd {
file { "/var/account/acct":
ensure => present,
mode => "0644",
owner => "root",
group => "wheel",
notify => Exec["accton"],
}
service { "accounting":
enable => true,
require => File["/var/account/acct"],
}
exec { "accton":
command => "accton /var/account/acct",
path => "/bin:/usr/bin:/sbin:/usr/sbin",
user => root,
refreshonly => true,
}
}