Logbuch.txt Datei auf 100 Zeilen beschränken, Rest nach Logbuchalt.txt
Hallo Forum
Ich habe eine Logbuchdatei namens Logbuch.txt , wo ständig neue Zeilen eingetragen werden.
Beispiel:
2010-07-01 17:40:50 Disconnect DB0FS-R Peer requested disconnect
Diese Datei wird immer größer und braucht entsprechend lange wenn sie über das Internet aufgerufen wird.
Deshalb würde ich diese Datei gerne auf 100 Zeilen begrenzen und den Rest an die Datei Logbuchalt.txt unten anhängen.
Ich habe das Forum durchsucht, konnte aber keine Lösung finden.
Beispiel:
2010-07-01 17:40:50 Disconnect DB0FS-R Peer requested disconnect
Diese Datei wird immer größer und braucht entsprechend lange wenn sie über das Internet aufgerufen wird.
Deshalb würde ich diese Datei gerne auf 100 Zeilen begrenzen und den Rest an die Datei Logbuchalt.txt unten anhängen.
Ich habe das Forum durchsucht, konnte aber keine Lösung finden.
Please also mark the comments that contributed to the solution of the article
Content-Key: 146081
Url: https://administrator.de/contentid/146081
Printed on: April 19, 2024 at 19:04 o'clock
8 Comments
Latest comment
Moin kaktus,
willkommen im Forum.
Nur zur Sicherheit:
P.S.
--> Generell würde ich nie nicht auf Logeinträge verzichten, bevor die nicht auf CD gebrannt sind und von daher unabhängig von diesem "nur heute und gestern anzeigen"-Problem eine sinnvolle Portionierung vornehmen.
Heißt:- ein Logfile pro Tag oder pro Woche oder pro Monat und aktiv und auf dem Rechner dann bestenfalls die letzten x Tage - Rest irgendwo archiviert.
Grüße
Biber
willkommen im Forum.
Nur zur Sicherheit:
- du betreibst nicht zufällig deinen "über der Internet erreichbar"-Krams auf einem Betriebssystem, das von Haus aus das Kommando "tail" kennt?
- wer/was greift denn auf diese "Logbuch.txt" zu und muss der/dasjenige wirklich auf eine -physisch vorhandene- Datei zugreifen?
P.S.
--> Generell würde ich nie nicht auf Logeinträge verzichten, bevor die nicht auf CD gebrannt sind und von daher unabhängig von diesem "nur heute und gestern anzeigen"-Problem eine sinnvolle Portionierung vornehmen.
Heißt:- ein Logfile pro Tag oder pro Woche oder pro Monat und aktiv und auf dem Rechner dann bestenfalls die letzten x Tage - Rest irgendwo archiviert.
Grüße
Biber
Hallo kaktus!
Soferne Du nix gegen ein ganz klein wenig VBScript einzuwenden hast (erzeugt der Batch eh selber), dann etwa so:
Die "Logbuch.txt" bleibt als Sicherungskopie in "%temp%\Logbuch.txt" ...
Grüße
bastla
[Edit] Die Kombination der Zeilen 13 und 14 zu
sollte eigentlich auch reichen (die Reihenfolge müsste ja schon passen) ...
[/Edit]
Soferne Du nix gegen ein ganz klein wenig VBScript einzuwenden hast (erzeugt der Batch eh selber), dann etwa so:
@echo off & setlocal
set "Aktuell=D:\Logbuch.txt"
set "Archiv=D:\Logbuchalt.txt"
set "LogTemp=%temp%\Logbuch.txt"
set "G=%temp%\GetYesterday.vbs"
>"%G%" echo WScript.Echo DateAdd("d",-1,WScript.Arguments(0))
for /f "tokens=1-3 delims=." %%a in ("%date%") do set "Heute=%%c-%%b-%%a"
for /f "tokens=1-3 delims=." %%a in ('cscript //nologo "%G%" %Heute%') do set "Gestern=%%c-%%b-%%a"
move "%Aktuell%" "%LogTemp%"
findstr /b "%Gestern%" "%LogTemp%">"%Aktuell%"
findstr /b "%Heute%" "%LogTemp%">>"%Aktuell%"
findstr /b /v "%Gestern% %Heute%" "%LogTemp%">>"%Archiv%"
Grüße
bastla
[Edit] Die Kombination der Zeilen 13 und 14 zu
findstr /b "%Gestern% %Heute%" "%LogTemp%">"%Aktuell%"
[/Edit]