diff options
author | Christian Poessinger <christian@poessinger.com> | 2022-03-12 08:27:00 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-12 08:27:00 +0100 |
commit | 1e17d1d45a0952bab53af46d6c4dfe15ebb1110e (patch) | |
tree | e7fa2ca22a16cc2ffe2dda2931494667af985e75 /src | |
parent | 2d3f5a03de3ebfd381582e36801c7e63d2493c71 (diff) | |
parent | ebb524702e1cd60a74b00727b7bd24d375648c78 (diff) | |
download | vyos-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')
-rwxr-xr-x | src/conf_mode/system-syslog.py | 14 | ||||
-rw-r--r-- | src/etc/logrotate.d/vyos-rsyslog | 12 |
2 files changed, 23 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): diff --git a/src/etc/logrotate.d/vyos-rsyslog b/src/etc/logrotate.d/vyos-rsyslog new file mode 100644 index 000000000..3c087b94e --- /dev/null +++ b/src/etc/logrotate.d/vyos-rsyslog @@ -0,0 +1,12 @@ +/var/log/messages { + create + missingok + nomail + notifempty + rotate 10 + size 1M + postrotate + # inform rsyslog service about rotation + /usr/lib/rsyslog/rsyslog-rotate + endscript +} |