Non dici logrotate
quale file ruotare sulla riga di comando. Gli passi un file di configurazione. Quindi, nel tuo caso, logrotate
sta leggendo /var/log/syslog
e 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 logrotate
file di configurazione da qualche parte e devi solo eseguire logrotate
. Se ha ruotato di recente, quindi logrotate -f
forzarlo a farlo di nuovo.
Ecco un esempio per /var/log/syslog
Debian,
/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.conf
o come frammento di file per /etc/logrotate.d
assumere i tuoi /etc/logrotate.conf
punti 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
.