diff --git a/manifests/logrotate.pp b/manifests/logrotate.pp new file mode 100644 index 0000000..c9bad6d --- /dev/null +++ b/manifests/logrotate.pp @@ -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, + } +}