From 2075889875c6b57aa4059ecf68f46c3aa628dbf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20O=CC=88rnstedt?= Date: Tue, 1 Apr 2014 12:42:18 +0200 Subject: Added logrotation based on date. --- manifests/server.pp | 14 +++++++++++++- templates/server-default.conf.erb | 20 ++++++++++---------- templates/server-hostname.conf.erb | 20 ++++++++++---------- 3 files changed, 33 insertions(+), 21 deletions(-) diff --git a/manifests/server.pp b/manifests/server.pp index beecde3..4fe078a 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -38,9 +38,21 @@ class rsyslog::server ( $high_precision_timestamps = false, $ssl_ca = undef, $ssl_cert = undef, - $ssl_key = undef + $ssl_key = undef, + $rotate = undef, ) inherits rsyslog { + ### Logrotate policy + $logpath = $rotate ? { + 'year' => '/%$YEAR%/', + 'YEAR' => '/%$YEAR%/', + 'month' => '/%$YEAR%/%$MONTH%/', + 'MONTH' => '/%$YEAR%/%$MONTH%/', + 'day' => '/%$YEAR%/%$MONTH%/%$DAY%/', + 'DAY' => '/%$YEAR%/%$MONTH%/%$DAY%/', + default => '/', + } + $real_content = $custom_config ? { '' => template("${module_name}/server-default.conf.erb"), default => template($custom_config), diff --git a/templates/server-default.conf.erb b/templates/server-default.conf.erb index fdf32d1..0c7f67f 100644 --- a/templates/server-default.conf.erb +++ b/templates/server-default.conf.erb @@ -8,15 +8,15 @@ <% if scope.lookupvar('rsyslog::server::enable_onefile') == false -%> # Templates -$Template dynAuthLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/auth.log" -$Template dynSyslog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/syslog" -$Template dynCronLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/cron.log" -$Template dynDaemonLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/daemon.log" -$Template dynKernLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/kern.log" -$Template dynUserLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/user.log" -$Template dynMailLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/mail.log" -$Template dynDebug,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/debug" -$Template dynMessages,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/messages" +$Template dynAuthLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%<%= scope.lookupvar('rsyslog::server::logpath') -%>auth.log" +$Template dynSyslog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%<%= scope.lookupvar('rsyslog::server::logpath') -%>syslog" +$Template dynCronLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%<%= scope.lookupvar('rsyslog::server::logpath') -%>cron.log" +$Template dynDaemonLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%<%= scope.lookupvar('rsyslog::server::logpath') -%>daemon.log" +$Template dynKernLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%<%= scope.lookupvar('rsyslog::server::logpath') -%>kern.log" +$Template dynUserLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%<%= scope.lookupvar('rsyslog::server::logpath') -%>user.log" +$Template dynMailLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%<%= scope.lookupvar('rsyslog::server::logpath') -%>mail.log" +$Template dynDebug,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%<%= scope.lookupvar('rsyslog::server::logpath') -%>debug" +$Template dynMessages,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%<%= scope.lookupvar('rsyslog::server::logpath') -%>messages" # Rules auth,authpriv.* ?dynAuthLog @@ -32,7 +32,7 @@ user.* -?dynUserLog mail.none,news.none -?dynMessages <% else -%> # Template -$Template dynAllMessages,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/messages" +$Template dynAllMessages,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%<%= scope.lookupvar('rsyslog::server::logpath') -%>messages" # Rules *.* -?dynAllMessages diff --git a/templates/server-hostname.conf.erb b/templates/server-hostname.conf.erb index 2c2e75a..67158d9 100644 --- a/templates/server-hostname.conf.erb +++ b/templates/server-hostname.conf.erb @@ -7,15 +7,15 @@ <% if scope.lookupvar('rsyslog::server::enable_onefile') == false -%> # Templates -$Template dynAuthLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/auth.log" -$Template dynSyslog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/syslog" -$Template dynCronLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/cron.log" -$Template dynDaemonLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/daemon.log" -$Template dynKernLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/kern.log" -$Template dynUserLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/user.log" -$Template dynMailLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/mail.log" -$Template dynDebug,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/debug" -$Template dynMessages,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/messages" +$Template dynAuthLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%<%= scope.lookupvar('rsyslog::server::logpath') -%>auth.log" +$Template dynSyslog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%<%= scope.lookupvar('rsyslog::server::logpath') -%>syslog" +$Template dynCronLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%<%= scope.lookupvar('rsyslog::server::logpath') -%>cron.log" +$Template dynDaemonLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%<%= scope.lookupvar('rsyslog::server::logpath') -%>daemon.log" +$Template dynKernLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%<%= scope.lookupvar('rsyslog::server::logpath') -%>kern.log" +$Template dynUserLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%<%= scope.lookupvar('rsyslog::server::logpath') -%>user.log" +$Template dynMailLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%<%= scope.lookupvar('rsyslog::server::logpath') -%>mail.log" +$Template dynDebug,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%<%= scope.lookupvar('rsyslog::server::logpath') -%>debug" +$Template dynMessages,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%<%= scope.lookupvar('rsyslog::server::logpath') -%>messages" # Rules auth,authpriv.* ?dynAuthLog @@ -31,7 +31,7 @@ user.* -?dynUserLog mail.none,news.none -?dynMessages <% else -%> # Template -$Template dynAllMessages,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/messages" +$Template dynAllMessages,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%<%= scope.lookupvar('rsyslog::server::logpath') -%>messages" # Rules *.* -?dynAllMessages -- cgit v1.2.3