logrotate kann Protokolle nicht drehen, es wird "Kein solcher Dateifehler" angezeigt.

10363
Sandeep Singh

logrotate kann meine Protokolle nicht drehen. Ich habe die Dateiberechtigungen geprüft, sie sind in Ordnung.

Ich habe es sogar versucht, indem ich "su root root" in die Konfigurationsdatei eingefügt habe.

Die relevanten Details finden Sie unten:

logrotate.conf datei:

/var/log/testlog { compress delaycompress dateext maxage 180 rotate 15 size 1024M start 1 rotate 15 missingok } 

Debug-Protokolle: [Verwenden der Option "-d"]

rotating pattern: /var/log/testlog 1073741824 bytes (15 rotations) empty log files are not rotated, old logs are removed considering log /var/log/testlog log needs rotating rotating log /var/log/testlog, log->rotateCount is 15 dateext suffix '-20140708' glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' compressing log with: /bin/gzip renaming /var/log/testlog.15.gz to /var/log/testlog.16.gz (rotatecount 15, logstart 1, i 15),  renaming /var/log/testlog.14.gz to /var/log/testlog.15.gz (rotatecount 15, logstart 1, i 14),  renaming /var/log/testlog.13.gz to /var/log/testlog.14.gz (rotatecount 15, logstart 1, i 13),  renaming /var/log/testlog.12.gz to /var/log/testlog.13.gz (rotatecount 15, logstart 1, i 12),  renaming /var/log/testlog.11.gz to /var/log/testlog.12.gz (rotatecount 15, logstart 1, i 11),  renaming /var/log/testlog.10.gz to /var/log/testlog.11.gz (rotatecount 15, logstart 1, i 10),  renaming /var/log/testlog.9.gz to /var/log/testlog.10.gz (rotatecount 15, logstart 1, i 9),  renaming /var/log/testlog.8.gz to /var/log/testlog.9.gz (rotatecount 15, logstart 1, i 8),  renaming /var/log/testlog.7.gz to /var/log/testlog.8.gz (rotatecount 15, logstart 1, i 7),  renaming /var/log/testlog.6.gz to /var/log/testlog.7.gz (rotatecount 15, logstart 1, i 6),  renaming /var/log/testlog.5.gz to /var/log/testlog.6.gz (rotatecount 15, logstart 1, i 5),  renaming /var/log/testlog.4.gz to /var/log/testlog.5.gz (rotatecount 15, logstart 1, i 4),  renaming /var/log/testlog.3.gz to /var/log/testlog.4.gz (rotatecount 15, logstart 1, i 3),  renaming /var/log/testlog.2.gz to /var/log/testlog.3.gz (rotatecount 15, logstart 1, i 2),  renaming /var/log/testlog.1.gz to /var/log/testlog.2.gz (rotatecount 15, logstart 1, i 1),  renaming /var/log/testlog.0.gz to /var/log/testlog.1.gz (rotatecount 15, logstart 1, i 0),  renaming /var/log/testlog to /var/log/testlog.1 removing old log /var/log/testlog.16.gz error: error opening /var/log/testlog.16.gz: No such file or directory 

Ausführliche Ausgabe:

rotating pattern: /var/log/testlog 1073741824 bytes (15 rotations) empty log files are not rotated, old logs are removed considering log /var/log/testlog log needs rotating rotating log /var/log/testlog, log->rotateCount is 15 dateext suffix '-20140625' glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' compressing log with: /bin/gzip renaming /var/log/testlog.15.gz to /var/log/testlog.16.gz (rotatecount 15, logstart 1, i 15),  old log /var/log/testlog.15.gz does not exist renaming /var/log/testlog.14.gz to /var/log/testlog.15.gz (rotatecount 15, logstart 1, i 14),  old log /var/log/testlog.14.gz does not exist renaming /var/log/testlog.13.gz to /var/log/testlog.14.gz (rotatecount 15, logstart 1, i 13),  old log /var/log/testlog.13.gz does not exist renaming /var/log/testlog.12.gz to /var/log/testlog.13.gz (rotatecount 15, logstart 1, i 12),  old log /var/log/testlog.12.gz does not exist renaming /var/log/testlog.11.gz to /var/log/testlog.12.gz (rotatecount 15, logstart 1, i 11),  old log /var/log/testlog.11.gz does not exist renaming /var/log/testlog.10.gz to /var/log/testlog.11.gz (rotatecount 15, logstart 1, i 10),  old log /var/log/testlog.10.gz does not exist renaming /var/log/testlog.9.gz to /var/log/testlog.10.gz (rotatecount 15, logstart 1, i 9),  old log /var/log/testlog.9.gz does not exist renaming /var/log/testlog.8.gz to /var/log/testlog.9.gz (rotatecount 15, logstart 1, i 8),  old log /var/log/testlog.8.gz does not exist renaming /var/log/testlog.7.gz to /var/log/testlog.8.gz (rotatecount 15, logstart 1, i 7),  old log /var/log/testlog.7.gz does not exist renaming /var/log/testlog.6.gz to /var/log/testlog.7.gz (rotatecount 15, logstart 1, i 6),  old log /var/log/testlog.6.gz does not exist renaming /var/log/testlog.5.gz to /var/log/testlog.6.gz (rotatecount 15, logstart 1, i 5),  old log /var/log/testlog.5.gz does not exist renaming /var/log/testlog.4.gz to /var/log/testlog.5.gz (rotatecount 15, logstart 1, i 4),  old log /var/log/testlog.4.gz does not exist renaming /var/log/testlog.3.gz to /var/log/testlog.4.gz (rotatecount 15, logstart 1, i 3),  old log /var/log/testlog.3.gz does not exist renaming /var/log/testlog.2.gz to /var/log/testlog.3.gz (rotatecount 15, logstart 1, i 2),  old log /var/log/testlog.2.gz does not exist renaming /var/log/testlog.1.gz to /var/log/testlog.2.gz (rotatecount 15, logstart 1, i 1),  renaming /var/log/testlog.0.gz to /var/log/testlog.1.gz (rotatecount 15, logstart 1, i 0),  old log /var/log/testlog.0.gz does not exist log /var/log/testlog.16.gz doesn't exist -- won't try to dispose of it renaming /var/log/testlog to /var/log/testlog.1 

Ausgabe von ls / var / log / testlog *:

/var/log/testlog  /var/log/testlog.1  /var/log/testlog.2.gz 
  • 'testlog' ist der Name einer Protokolldatei, die sich in / var / log / befindet. Ich rufe "logrotate" direkt von der Kommandozeile aus auf:

    logrotate logrotate.conf [meine eigene conf-Datei, Inhalt wird oben kopiert]

Kann mir jemand bitte einen Tipp geben, um dieses Problem zu lösen?

Vielen Dank

7

2 Antworten auf die Frage

5
Mattias Backman

Es wird ein Fehler gemeldet, weil die älteste mögliche gedrehte Protokolldatei nicht gefunden wurde, die noch nicht erstellt wurde. Das ist also ein Fehler, IMO. Daran sollte es nicht scheitern.

Was passiert, ist, dass die Fehlermeldung verschwindet, wenn Sie die maximale Anzahl der gedrehten Protokolle (15) gesammelt haben. Sie können die Nachricht in der Zwischenzeit ignorieren.

Es sieht aus wie ein Bug - Report zu diesem Thema ist hier .

Ich habe immer noch das Problem: `logrotate 3.7.8` über Ubuntu fguillen vor 8 Jahren 1
1
user1953579

Sie müssen mit -v ausführen, um Änderungen tatsächlich zu sehen:

-d, --debug Turns on debug mode and implies -v. In debug mode, no changes will be made to the logs or to the logrotate state file.