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