Konfigurieren Sie Logrotate so, dass es nur teilweise gedreht wird

346
Minzkraut

Ich verwende Logrotate, um Apache-Protokolle zu drehen. Anstatt jedoch nach jeder Rotation mit einer leeren Protokolldatei zu beginnen, möchte ich einige Zeilen des alten Protokolls beibehalten.

Gibt es eine Lösung, die verhindert, dass die Linien bei der nächsten Drehung dupliziert werden? Ist Logrotate sogar das richtige Werkzeug dafür?

0
"Ich möchte einige Zeilen vom alten Baumstamm behalten." Es scheint, dass dies nicht möglich ist. DavidPostill vor 6 Jahren 0
"Gibt es eine Lösung, die verhindert, dass die Linien bei der nächsten Drehung dupliziert werden?" Huh Was meinst du damit? DavidPostill vor 6 Jahren 0
@DavidPostill Wenn ich etwa 10 Zeilen in das neue Protokoll kopiere, würden diese Zeilen in file.log.1 AND file.log vorhanden sein und Daten effektiv duplizieren, sofern ich sie nicht aus der alten Datei ausschneide. Minzkraut vor 6 Jahren 0

1 Antwort auf die Frage

1
mtak

Nein das ist nicht möglich. Logrotate dreht die gesamte Datei.

Es ist natürlich möglich, ein Skript zu schreiben, das die Dateien miteinander verkettet und Ihnen auch die letzten Zeilen des vorherigen Protokolls zeigt. Ein einfaches Beispiel:

#!/bin/bash  tail -5 /var/log/apache2/access.log.1 cat /var/log/apache2/access.log