Sie wissen nicht, logrotate
welche Datei in der Befehlszeile gedreht werden soll. Sie übergeben ihm eine Konfigurationsdatei. In Ihrem Fall wird logrotate
also gelesen /var/log/syslog
und versucht, es als Konfigurationsdatei zu analysieren, und es schlägt fehl (daher Ihre Fehler).
Wenn Sie drehen möchten, muss /var/log/syslog
es logrotate
irgendwo in einer Konfigurationsdatei aufgeführt sein , und Sie müssen es einfach ausführen logrotate
. Wenn es sich kürzlich gedreht hat, logrotate -f
um es zu zwingen, es erneut zu tun.
Hier ist ein Beispieleintrag für /var/log/syslog
von 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.conf
oder als Dateischnipet /etc/logrotate.d
, um Ihre /etc/logrotate.conf
Punkte 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
.