file di registro con rotazione manuale con rsyslogd


10

Voglio forzare la rotazione del file di log utilizzando logrotate -f /var/log/syslog, ma restituisce solo i toni di:

error: syslog:1 unknown option 'May' -- ignoring line
error: syslog:1 unexpected text

So che su questo sistema rsyslogd è in esecuzione. Come ruotare /var/log/syslog? Lo voglio vuoto.

Risposte:


23

Non dici logrotatequale file ruotare sulla riga di comando. Gli passi un file di configurazione. Quindi, nel tuo caso, logrotatesta leggendo /var/log/sysloge cercando di analizzarlo come file di configurazione e fallendo (da qui i tuoi errori).

Se vuoi ruotare /var/log/syslog, deve essere elencato in un logrotatefile di configurazione da qualche parte e devi solo eseguire logrotate. Se ha ruotato di recente, quindi logrotate -fforzarlo a farlo di nuovo.

Ecco un esempio per /var/log/syslogDebian,

/var/log/syslog
{
        rotate 7
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                invoke-rc.d rsyslog reload > /dev/null
        endscript
}

Quindi, ne hai bisogno in un file, normalmente /etc/logrotate.confo come frammento di file per /etc/logrotate.dassumere i tuoi /etc/logrotate.confpunti lì, e poi corri e basta logrotate /etc/logrotate.conf.

Dato che stai eseguendo Debian, questo probabilmente è tutto a posto, e tutto ciò che devi effettivamente fare è eseguire logrotate -f /etc/logrotate.conf(nota, questo ruoterà ogni registro attualmente configurato in logrotate).

Se vuoi veramente solo ruotare /var/log/syslog, dovrai creare un file di configurazione che esegua solo quel registro, in base al contenuto di /etc/logrotate.conf+ /etc/logrotate.d/rsyslog.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.