Zum Inhalt springen

Verwendung von "logrotate"


SchwarzerEngel

Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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ß

Link zu diesem Kommentar
Auf anderen Seiten teilen

[...]

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...