summaryrefslogtreecommitdiff
path: root/src/conf_mode/system-syslog.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2022-03-12 08:27:00 +0100
committerGitHub <noreply@github.com>2022-03-12 08:27:00 +0100
commit1e17d1d45a0952bab53af46d6c4dfe15ebb1110e (patch)
treee7fa2ca22a16cc2ffe2dda2931494667af985e75 /src/conf_mode/system-syslog.py
parent2d3f5a03de3ebfd381582e36801c7e63d2493c71 (diff)
parentebb524702e1cd60a74b00727b7bd24d375648c78 (diff)
downloadvyos-1x-1e17d1d45a0952bab53af46d6c4dfe15ebb1110e.tar.gz
vyos-1x-1e17d1d45a0952bab53af46d6c4dfe15ebb1110e.zip
Merge pull request #1241 from zdc/T4250-sagitta
logrotate: T4250: Fixed logrotate config generation
Diffstat (limited to 'src/conf_mode/system-syslog.py')
-rwxr-xr-xsrc/conf_mode/system-syslog.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/conf_mode/system-syslog.py b/src/conf_mode/system-syslog.py
index 3d8a51cd8..309b4bdb0 100755
--- a/src/conf_mode/system-syslog.py
+++ b/src/conf_mode/system-syslog.py
@@ -17,6 +17,7 @@
import os
import re
+from pathlib import Path
from sys import exit
from vyos.config import Config
@@ -89,7 +90,7 @@ def get_config(config=None):
filename: {
'log-file': '/var/log/user/' + filename,
'max-files': '5',
- 'action-on-max-size': '/usr/sbin/logrotate /etc/logrotate.d/' + filename,
+ 'action-on-max-size': '/usr/sbin/logrotate /etc/logrotate.d/vyos-rsyslog-generated-' + filename,
'selectors': '*.err',
'max-size': 262144
}
@@ -205,10 +206,17 @@ def generate(c):
conf = '/etc/rsyslog.d/vyos-rsyslog.conf'
render(conf, 'syslog/rsyslog.conf.tmpl', c)
+ # cleanup current logrotate config files
+ logrotate_files = Path('/etc/logrotate.d/').glob('vyos-rsyslog-generated-*')
+ for file in logrotate_files:
+ file.unlink()
+
# eventually write for each file its own logrotate file, since size is
# defined it shouldn't matter
- conf = '/etc/logrotate.d/vyos-rsyslog'
- render(conf, 'syslog/logrotate.tmpl', c)
+ for filename, fileconfig in c.get('files', {}).items():
+ if fileconfig['log-file'].startswith('/var/log/user/'):
+ conf = '/etc/logrotate.d/vyos-rsyslog-generated-' + filename
+ render(conf, 'syslog/logrotate.tmpl', { 'config_render': fileconfig })
def verify(c):