Add logrotate class to Apache
Adding this subclass to httpd configuration, to allow modules using this manifest to setup log rotation for apache on demand. Please note that apache is installing a logrotate file by default here, but naming that on same way will overwrite it, and allow our desired log rotation. Depends-On: I7451ecc550b50b85c55784ef598f6b45412117fc Change-Id: I3ef60fd9386795007e5b55264cc6e91fa0b67c68
This commit is contained in:
parent
6559655964
commit
208feadbcd
39
manifests/logrotate.pp
Normal file
39
manifests/logrotate.pp
Normal file
@ -0,0 +1,39 @@
|
||||
# == Class: httpd::logrotate
|
||||
#
|
||||
class httpd::logrotate (
|
||||
$options = [
|
||||
'daily',
|
||||
'missingok',
|
||||
'rotate 30',
|
||||
'compress',
|
||||
'delaycompress',
|
||||
'notifempty',
|
||||
'create 640 root adm',
|
||||
],
|
||||
$prerotate = [
|
||||
"if [ -d /etc/logrotate.d/${::httpd::params::apache_name}-prerotate ]; then \\",
|
||||
" run-parts /etc/logrotate.d/${::httpd::params::apache_name}-prerotate; \\",
|
||||
'fi; \\',
|
||||
],
|
||||
$postrotate = [
|
||||
"if service ${::httpd::params::apache_name} status > /dev/null ; then \\",
|
||||
" service ${::httpd::params::apache_name} reload > /dev/null; \\",
|
||||
'fi; \\',
|
||||
],
|
||||
$firstaction = 'undef',
|
||||
$lastaction = 'undef',
|
||||
) inherits httpd::params {
|
||||
include ::logrotate
|
||||
|
||||
$apache_logdir = "/var/log/${::httpd::params::apache_name}"
|
||||
$logrotate_name = $::httpd::params::apache_name
|
||||
|
||||
::logrotate::file { $logrotate_name:
|
||||
log => "${apache_logdir}/*.log",
|
||||
options => $options,
|
||||
prerotate => $prerotate,
|
||||
postrotate => $postrotate,
|
||||
firstaction => $firstaction,
|
||||
lastaction => $lastaction,
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user