ansible-roles/evolinux-base/templates/logs/zsyslog.j2
Ludovic Poujol dc1c78e08a
All checks were successful
continuous-integration/drone/push Build is passing
evolinux-base: Fix our zsyslog rotate config that doesn't work on Debian 10
I've noticed that some log files, especially /var/log/syslog were empty.
After investigating, I've realized that it was happening after a log
rotation by logrotate.

The old mechanism, `invoke-rc.d rsyslog rotate` isn't working anymore on
Debian 10. It will fail with a not so explicit message :

[FAIL] Closing open files: rsyslogd failed!

Long story short, it seems that the pid file (`/run/rsyslogd.pid`) isn't
created any more, so start-stop-daemon as used by /etc/init.d/rsyslog
will fail. Explaining the error message.

Debian 10 rsyslog now brings `/usr/lib/rsyslog/rsyslog-rotate` that is
used by logrotate. It will send the signal HUP the 'right' way, so
rsyslog will be aware of the log rotation.

Sadly, this script isn't present in Debian 9 nor 8, so the logrotate
configuration for rsyslog is now a template, using the right command for
the right version.
2019-11-22 16:48:19 +01:00

40 lines
611 B
Django/Jinja

# Custom EvoLinux
create 640 root adm
dateext
dateyesterday
dateformat .%Y%m%d
missingok
notifempty
delaycompress
compress
postrotate
{% if ansible_distribution_major_version | version_compare('10', '>=') %}
/usr/lib/rsyslog/rsyslog-rotate
{% else %}
invoke-rc.d rsyslog rotate > /dev/null
{% endif %}
endscript
/var/log/daemon.log
/var/log/kern.log
/var/log/lpr.log
{
weekly
rotate 5
}
/var/log/auth.log
/var/log/user.log
/var/log/cron.log
/var/log/debug
/var/log/messages
/var/log/syslog
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
{
daily
rotate 365
}