bjoernanger
Goto Top

Logdatei(en) bearbeiten und verwalten

Tach zusammen,

ich hab schonmal ein bischen gesucht, aber leider nichts entsprechendes gefunden.

Also :
Ich lasse nachts ne Sicherung laufen die eine LogDatei erzeugt. Da ich jedoch nur in unregelmäßigen Abständen (2 Tage bis 2 Monate) kontrollieren kann ob das auch alles klappt, suche ich eine Möglichkeit um nur die Logdatei der letzten x Sicherungen zu speichern und den Rest zu löschen. Die Dateinamen könnten/sollten so aussehen : backup_JJ-MM-TT.log

Zusätzlich sollen in den Sicherungen nur die letzten y Zeilen überbleiben.

Ich hoffe, das ich das halbwegs verständlich aufgeschrieben hab.

Ich bin mir sicher, das es da eine schicke Lösung für gibt ... die hab ich aber leider noch nicht gefunden.
Wär toll, wenn mir jemand von euch helfen könnten.

Gruß

Content-Key: 47154

Url: https://administrator.de/contentid/47154

Printed on: April 24, 2024 at 01:04 o'clock

Member: bastla
bastla Dec 20, 2006 at 13:35:38 (UTC)
Goto Top
Hallo bjoernanger und willkommen im Forum!

Für den Teil 1 (nur x Dateien behalten) würde sich folgende Batch-Zeile anbieten (Annahme: x = 60):
for /f "skip=61 delims=" %%i in ('dir /b /o-d /a-d') do @echo del "%%i"  
Kurze Erklärung: Erstelle aus dem aktuellen Verzeichnis eine nach dem Datum geordnete (jüngste zuerst) Liste aller Dateien (und ignoriere ev Unterverzeichnisse), wobei nur der Name (inkl Typ) der Datei verwendet wird, und lösche alle in dieser Liste ab Position 61 aufscheinenden Dateien. Zum Testen steht vor dem Löschbefehl ein "@echo", damit nur angezeigt wird, was geschehen würde. Die Schreibweise "%%i" (mit 2 Prozentzeichen) ist für eine Verwendung als .cmd- oder .bat-Datei gedacht - direkt von der Kommandozeile brauchst Du nur 1 Prozentzeichen.

Zu Teil 2: Gibt es ev ein Kennzeichen (spezieller Text), wo die letzten y Zeilen beginnen, oder soll tatsächlich gezählt werden? Falls Zählung: Sind Leerzeilen mit zu zählen?

Grüße bastla
Member: bastla
bastla Dec 20, 2006 at 15:18:13 (UTC)
Goto Top
Nachtrag: Der "dir"-Befehl sollte natürlich auf die Log-Dateien ("backup*.log") eingeschränkt werden - daher also etwa:
for /f "skip=61 delims=" %%i in ('dir backup*.log /b /o-d /a-d') do @echo del "%%i"  

bastla
Member: Biber
Biber Mar 05, 2007 at 16:56:49 (UTC)
Goto Top
Moin bjoernanger,
Wär toll, wenn mir jemand von euch helfen könnten.
Nachfrage: Wie können wir erkennen, ob wir Dir helfen konnten?

Magst Du mal ein "Funktioniert" oder "Tut nich'" oder "Habe jetzt andere Hobbies" posten?

Danke
Biber
Member: bjoernanger
bjoernanger Mar 07, 2007 at 15:04:53 (UTC)
Goto Top
Sorry, hab ich leider vergessen ...

Ja, das funktioniert so. Danke, Danke.