Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich verwende momentan "logrotate", um einige LOGs im Rahmen zu halten, weil der dazugehörige Dienst teils mehrere Wochen durchläuft und sich somit im Laufe der Zeit doch einige Daten ansammeln.

Die dazugehörige conf-Datei sieht folgendermaßen aus:

# see "man logrotate" for details

# rotate log files weekly

daily


# keep 5 days worth of backlogs

rotate 3


# create new (empty) log files after rotating old ones

create


# uncomment this if you want your log files compressed

#compress


# uncomment these to switch compression to bzip2

compresscmd /usr/bin/bzip2

uncompresscmd /usr/bin/bunzip2


# former versions had to have the compresscommand set accordingly

compressext .bz2


# RPM packages drop log rotation information into this directory

include /etc/logrotate.d


# In diesem Abschnitt wird das Rotieren der Log-datei ServerOutput.log im Verzeichnis /usr/local/netphantom

# definiert. Diese Datei wird täglich (daily) rotiert, drei Versionen (rotate 3) werden aufgehoben

/usr/local/netphantom/ServerOutput.log {

daily

copytruncate

rotate 3

compress

}


/usr/local/netphantom/LicMgrOutput.log {

daily

copytruncate

rotate 3

compress

}

Ich muss hier (denke ich?) mit "copytruncate" arbeiten, da ich dem Prozess im laufenden Betrieb die Logdatei nicht "unterm Allerwertesten" wegziehen kann. Tue ich das, dann werden keine Logs mehr in die neue Datei geschrieben, was nicht Sinn der Sache ist.

Nun die Frage:

Die Funktionalität ist soweit gegeben. Allerdings hat meine Log-Datei nun trotzdem wieder die 100MB überschritten. Ich dachte, dass aus der Log-Datei die Daten rausgezogen und ausgelagert werden und die Datei um diese Daten gekürzt wird. Das scheint zwar wohl der Fall zu sein (zumindest habe ich die letzten drei gepackten Sicherungsdateien), aber es werden immer nur ein paar Kilobyte an Daten ausgelagert - egal, wie groß die Logdatei bereits ist! Kann ich irgendwie angeben, dass er bspw. 70% auslagern soll?

Es wäre sogar okay, wenn er alle Daten der letzten 24 Stunden (läuft ja sowieso "daily") auslagert und mit einer leeren Datei weiter macht (ohne jedoch das Orginal-LOG zu schließen).

Weiß da jemand Rat?

Vielen Dank im Voraus.

Greetz

S.E.

Geschrieben

Sorry, wenn ich mich selbst zitiere, aber:

Es wäre sogar okay, wenn er alle Daten der letzten 24 Stunden [...] auslagert und mit einer leeren Datei weiter macht (ohne jedoch das Orginal-LOG zu schließen).

Genau das sollte "copytruncate" doch ohnehin machen?

Überall steht, dass das Orginal-Log auf die Länge 0 abgeschnitten wird und die Daten in eine neue Datei ausgelagert werden. Was läuft also falsch?

Geschrieben

Ja, mit copytruncate sollte er wieder bei 0 Byte anfangen. Bei mir klappt es auch wunderbar.

Ich vermute, dass dein Dienst die Logdatei in einer Art und weise öffnet, die es für logrotate unmöglich macht die alten Einträge rauszuziehen.

Kannst du den Dienst kurz stoppen, bzw. eine 2. Instanz zum Testen erstellen, und im gestoppten Zustand logrotate manuell ausführen um zu sehen ob er dann wieder bei 0 anfängt?

Gruß

Geschrieben
[...]

Kannst du den Dienst kurz stoppen, bzw. eine 2. Instanz zum Testen erstellen, und im gestoppten Zustand logrotate manuell ausführen um zu sehen ob er dann wieder bei 0 anfängt?

Eben auf dem Testserver ausprobiert.

Ja, wenn der Dienst nicht läuft, dann beginnt die Datei wieder bei 0.

Allerdings könnte ich dann auch "create" verwenden, wenn ich den Dienst sowieso stoppen muss.

Ich habe mir daher überlegt, einen Cron zu basteln, welcher den Prozess nachts stoppt, den Logrotate durchführt und den Prozess anschließend wieder startet.

Ist wahrscheinlich ohnehin sinnvoller so.

Danke!

Greetz

S.E.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...