Наш файл журнала /var/log/syslog
кажется, не вращается, даже при том, что logrotate конфигурируются /etc/logrotate.d/rsyslog
существует:
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
Посмотрите, syslog
файл журнала 600M без старых файлов или сжат.
-rw-r----- 1 syslog adm 600M Nov 9 20:30 syslog
Я нашел проблему, так или иначе su
, директива была удалена от /etc/logrotate.conf
, так должен был добавить:
# use the syslog group by default, since this is the owning group
# of /var/log/syslog.
su root syslog
У меня была похожая проблема, и она, вероятно, была вызвана некоторой несовместимостью между конфигурацией logrotate и новой заменой systemd для sysv / init.d
Мне пришлось отредактировать / etc / logrotate .d / rsyslog и замените
invoke-rc.d rsyslog rotate > /dev/null
на
systemctl kill -s HUP --kill-who=main rsyslog.service
, предыдущая строка выглядела так, как будто она работает, и сказала так, но ей не удалось заставить rsyslog повторно открыть свои файлы журналов.
На основании комментария Самуэля , измененного / usr / lib / rsyslog / rsyslog-rotate
#!/bin/sh
if [ -d /run/systemd/system ]; then
systemctl kill -s HUP --kill-who=main rsyslog.service
else
invoke-rc.d rsyslog rotate > /dev/null
fi