Você não diz logrotate
qual arquivo girar na linha de comando. Você passa um arquivo de configuração. Então, no seu caso, logrotate
está lendo /var/log/syslog
e tentando analisá-lo como um arquivo de configuração e falhando (daí os seus erros).
Se você deseja girar, /var/log/syslog
ele precisa estar listado em um logrotate
arquivo de configuração em algum lugar e você acabou de executar logrotate
. Se ele girou recentemente, logrotate -f
forçá-lo a fazê-lo novamente.
Aqui está um exemplo de entrada para o /var/log/syslog
Debian,
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog reload > /dev/null
endscript
}
Portanto, você precisa disso em um arquivo, normalmente /etc/logrotate.conf
ou como um trecho de arquivo, /etc/logrotate.d
assumindo seus /etc/logrotate.conf
pontos lá e, em seguida, basta executar logrotate /etc/logrotate.conf
.
Como você está executando o Debian, isso provavelmente está tudo pronto, e tudo o que você precisa fazer é executar logrotate -f /etc/logrotate.conf
(observe, isso rodará todos os logs atualmente configurados no logrotate).
Se você realmente deseja apenas girar /var/log/syslog
, precisará criar um arquivo de configuração que faça apenas esse log, com base no conteúdo de /etc/logrotate.conf
+ /etc/logrotate.d/rsyslog
.