Entspricht LogRotate für Windows?

30

Wir haben eine riesige Protokolldatei, die von der Anwendung eines Anbieters geschrieben wird. Nehmen wir an, der Anbieter wird nichts tun, was wir verlangen. Gibt es eine Möglichkeit, diese Protokolldatei zu drehen? Wir sehen, dass ungefähr 300 MB pro Stunde geschrieben werden - ich würde das viel lieber in 10-MB-Teile zerlegen und alles, was älter als ein Tag oder über 1000 Dateien ist, von einer Klippe fallen lassen.

(Ich weiß, ich weiß, mögliches Duplikat von Wie werden Apache-Protokolle unter Windows gedreht, ohne den Dienst zu unterbrechen? )

Aha - das Chomp-Protokoll war tot, aber die Suche nach "chomp logrotate" brachte mich zu seiner neuen Site . Ich werde es morgen versuchen und antworten, wenn es mir gefällt. Ich würde immer noch gerne etwas über Software hören, die von anderen verwendet wird und die für diese Zwecke geeignet ist.

mfinni
quelle
Wird ein regelmäßiger Neustart Ihres Dienstes Probleme verursachen? Kann die Anwendung ihre Ausgabe an ein Programm oder einen Netzwerk-Socket senden?
Zoredache
Es kann sich in stdout oder in einer benannten Datei anmelden. Neustart möglich - noch nicht sicher.
mfinni
Es gibt Hunderte von Skripten für Protokollrotationen. Suchen Sie in Google beispielsweise nach "Powershell-Protokollrotation".
Jim B
Dieser behandelt speziell alte (veraltete) Dateien, in die nicht mehr geschrieben wird, was ein ziemlich einfacher Fall ist. Ich war auf der Suche nach etwas für eine einzelne Datei.
Mfinni
Suche in diesem Forum nach "logrotate" hat 0 Ergebnisse.
Mfinni

Antworten:

8

Die Installation von Cygwin ist eine der wenigen Optionen, die Ihnen zur Verfügung stehen. Von dort aus können Sie verwenden logrotate.

Wesley
quelle
2
Keine Angst vor Cygwin, wenn es eine gute Lösung enthält, obwohl ich immer daran denke, keine Kanone zu verwenden, um eine Fliege zu schlagen.
Mfinni
1
Entschuldigung, ich muss mein Häkchen zurückziehen. Ich sehe keine Logrotate im Katalog für den aktuellen Cygwin. Es wird möglicherweise ordnungsgemäß aus dem Quellcode erstellt, aber das MAKEFILE enthält nichts für CYG oder WIN.
Mfinni
@mfinni Leider ist es nicht im Paket, obwohl andere es in Cygwin verwendet haben. = /
Wesley
Klingt gut für mich
Mfinni
2
Ich bestätige, dass ich die Protokolldatei von Cygwins Bestand verschieben kann syslog-ng.
ivan_pozdeev
10

Ich habe es noch nicht benutzt, aber LogRotateWin ist eine native Implementierung von LogRotate für Windows, die vielversprechend aussieht. Zumindest erfordert es nicht Cygwin.

Bmaupin
quelle
3
Ich habe dies auf Windows 2012 R2 verwendet. Funktioniert perfekt. choco install logrotateBearbeiten Sie dann c: \ Programme (x86 \ LogRotate \ Content \ logrotate.conf
spuder
8

Werfen Sie einen Blick auf logwot8 , eine Verpackung aus Logrotate, einer eingeschränkten Shell-Umgebung und erforderlichen Cygwin-Layer-Komponenten, die sofort einsatzbereit sind (4 MB Installer-Größe). Sie müssen die Konfigurationsdatei an Ihre Anforderungen anpassen. Es ist kostenlos für die Verwendung und Verteilung unter der 2-Satz-BSD-Lizenz.

Haftungsausschluss: Ich bin der Entwickler :-)

itefix
quelle
Irgendeine Perspektive für Quellen? Zum Beispiel, um es für das installierte Cygwin neu zu kompilieren, anstatt ein separates um sich zu ziehen?
ivan_pozdeev
Sie können die in logwot8 verwendeten Logrotate-Quellen hier herunterladen .
itefix