Sie wissen nicht, logrotatewelche Datei in der Befehlszeile gedreht werden soll. Sie übergeben ihm eine Konfigurationsdatei. In Ihrem Fall wird logrotatealso gelesen /var/log/syslogund versucht, es als Konfigurationsdatei zu analysieren, und es schlägt fehl (daher Ihre Fehler).
Wenn Sie drehen möchten, muss /var/log/sysloges logrotateirgendwo in einer Konfigurationsdatei aufgeführt sein , und Sie müssen es einfach ausführen logrotate. Wenn es sich kürzlich gedreht hat, logrotate -fum es zu zwingen, es erneut zu tun.
Hier ist ein Beispieleintrag für /var/log/syslogvon Debian:
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog reload > /dev/null
endscript
}
Sie benötigen das also in einer Datei, normalerweise entweder /etc/logrotate.confoder als Dateischnipet /etc/logrotate.d, um Ihre /etc/logrotate.confPunkte dort anzunehmen , und dann führen Sie es einfach aus logrotate /etc/logrotate.conf.
Da Sie Debian ausführen, ist dies wahrscheinlich alles vorhanden, und alles, was Sie tatsächlich tun müssen, ist auszuführen logrotate -f /etc/logrotate.conf(beachten Sie, dass dadurch jedes derzeit in logrotate konfigurierte Protokoll gedreht wird).
Wenn Sie wirklich nur drehen möchten /var/log/syslog, müssen Sie eine Konfigurationsdatei erstellen, die nur dieses eine Protokoll basierend auf dem Inhalt von /etc/logrotate.conf+ erstellt /etc/logrotate.d/rsyslog.