2013-02-26 2 views
5

In einer normalen logrotate.d-Konfigurationsdatei gibt es eine Möglichkeit, eine unbegrenzte Anzahl von potenziellen Protokollen festzulegen?Unbegrenzte Protokolle mit logrotate

Die einzige Sache, die ich scheinen kann, ist es auf eine verrückte Zahl einzustellen, die nie erfüllt werden wird. Etwas wie:

/var/log/app/* { 
    missingok 
    weekly 
    copytruncate 
    rotate 10000000000 
    compress 
    notifempty 
    olddir /var/log/app/old 
} 

Aber das scheint ziemlich hacky zu mir.

+0

Interessante Frage. Ich erinnere mich, dass 'rotieren 0 'nur das aktuelle Protokoll behält. Haben Sie versucht, "-1 zu drehen" oder komplett wegzulassen? –

+0

Sie haben bereits eine Lösung gefunden, jetzt können Sie die Finger kreuzen und annehmen, dass logrotate eine 64-Bit-Ganzzahl verwendet, um den Rotationswert zu speichern. – ypnos

Antwort

3

Von UNIX logrotate man page:

drehen Zählung

Log-Dateien sind gedreht Mal, bevor in einer E-Mail-Richtlinie an die angegebene Adresse entfernt oder per Post zu werden. Wenn count 0 ist, werden alte Versionen entfernt und dann gedreht.

Also ich denke, es eine riesige Zahl schreiben, müssen zu arbeiten.

+0

Entschuldigung, ich hätte erwähnen sollen, dass ich zuerst die Manpage überprüft habe. Es sagte nichts, aber ich fragte mich nur, ob jemand eine bessere Idee hatte. Eines Tages könnte diese große Zahl erfüllt werden :) Ich denke, eine Idee könnte ein Cron-Job sein, der die Logs in einen/alten/alten Ordner verschiebt, wenn er eine bestimmte Anzahl erreicht ... – stewbert

+0

OK! Also überprüfte ich die Manpage:) Nun, ich denke, das ist eine gute Idee, klar. Sie können dieses Skript erstellen, indem Sie die Anzahl der Dateien im Verzeichnis überprüfen, etwa wie folgt: if [$ (ls -1/dir | wc -l) -ge $ BIG_NUMBER]; dann bla bla bla. Ich denke, es ist nicht gut, Milliarden von Log-Dateien zusammen zu speichern. Wenn Sie Informationen benötigen, ist es besser, sie an verschiedenen Orten zu speichern, damit Sie das Dateisystem wiederherstellen können, wenn etwas passiert. Was ist mit vollständigen Sicherungen von Zeit zu Zeit, damit Sie sie bei Bedarf aus der Sicherung wiederherstellen können? – fedorqui

+0

Das ist natürlich der endgültige Plan. Dies ist eher ein Bandaid für das wirkliche Problem (eine Anwendung, die Protokolle mit einer alarmierenden Rate erzeugt). Für den eigentlichen Anwendungsbesitzer weiß ich nur, dass sie nachts besser schlafen würden, wenn es eine "unbegrenzte" Einstellung gibt, die genutzt werden kann, bis eine "echte" Lösung implementiert werden kann (die Anwendung davon abhalten, so viele verdammte Protokolle zu erzeugen! rotieren 20MB alle 10-15 Minuten ...) Danke! Ich gebe dir die Antwort. – stewbert