PDA

View Full Version : help rsyslog e logrotate


riaw
04-11-2018, 17:08
Ciao a tutti, ho un piccolo problema con rsyslog e logrotate....

in /etc/rsyslog.conf ho inserito queste due righe:

<$template prod1,"/var/log/%FROMHOST-IP%/%syslogfacility-text%.log"
if $fromhost-ip=='1.1.1.1' then ?prod1

poi ho dato un systemctl restart rsyslog e correttamente mi viene creata la cartella /var/log/1.1.1.1/ con dentro i due file di log che mi interessa ricevere dal syslog (mail.log e local1.log).

ho la necessità di ruotare giornalmente quei due file, comprimere i vecchi, e tenere gli ultimi 14gg, percui ho creato il file /etc/logrotate.d/1.1.1.1 con dentro:

/var/log/1.1.1.1/mail.log {
rotate 14
daily
create
missingok
delaycompress
compress
}
/var/log/1.1.1.1/local1.log {
rotate 14
daily
create
missingok
delaycompress
compress
}


syslog salva correttamente i log in quei due file, tranne dopo che è avvenuta la rotazione (anche se provo a forzarla manualmente con logrotate -v -f /etc/logrotate.conf). dopo che avviene la rotazione, il syslog torna a salvare i i log di mail in /var/log/maillog

quale può essere il problema? :confused:

grazie in anticipo a chi mi può dare una mano!

lemming
04-11-2018, 19:51
Prova a riavviare/ricaricare rsyslog inseguito alla rotazione dei file di log (tramite postrotate).
Esempio

postrotate
/sbin/service rsyslog reload > /dev/null 2>/dev/null || true
endscript

riaw
05-11-2018, 07:08
Prova a riavviare/ricaricare rsyslog inseguito alla rotazione dei file di log (tramite postrotate).
Esempio

postrotate
/sbin/service rsyslog reload > /dev/null 2>/dev/null || true
endscript

l'ho modificato in

postrotate
/bin/systemctl restart rsyslog > /dev/null 2>/dev/null
endscript

e pare che non perda un colpo :)
grazie mille!