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-ID: 47154

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

Ausgedruckt am: 21.11.2024 um 23:11 Uhr

bastla
bastla 20.12.2006 um 14:35:38 Uhr
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
bastla
bastla 20.12.2006 um 16:18:13 Uhr
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
Biber
Biber 05.03.2007 um 17:56:49 Uhr
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
bjoernanger
bjoernanger 07.03.2007 um 16:04:53 Uhr
Goto Top
Sorry, hab ich leider vergessen ...

Ja, das funktioniert so. Danke, Danke.