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 .