Log-Dateien automatisiert löschen
Ich habe eine Batch-Datei zur Datensicherung erstellt. Diese erstellt auch Log-Datein im Format: Beispiel_JJJJMMTT.log. Nach einer gewissen Zeit sollen die alten Dateien gelöscht werden.
Hallo.
Ich nutze die Funktion Log-Dateien zu erstellen von Robocopy. In meiner Batch-Datei wird dann zur Unterscheidung an den Dateinamen das jeweils aktuelle Datum angehängt (beispiel_JJJJMMTT.log).
Nun sollen im Anschluss an die tägliche Datensicherung ältere Log-Dateien (z.B. älter 5 Tage) automatisch gelöscht werden.
Mein Ansatz war, über die Differenz an Tagen (aktuelles Datum - Datum an Log-Datei) zu entscheiden, welche Dateien gelöscht werden. Ich habe aber keine solche Funktion gefunden.
Vielleicht stelle ich mir dies auch zu kompliziert vor, aber meine Suche hat leider auch nichts ergeben.
Schönen Tag noch.
joec
Hallo.
Ich nutze die Funktion Log-Dateien zu erstellen von Robocopy. In meiner Batch-Datei wird dann zur Unterscheidung an den Dateinamen das jeweils aktuelle Datum angehängt (beispiel_JJJJMMTT.log).
Nun sollen im Anschluss an die tägliche Datensicherung ältere Log-Dateien (z.B. älter 5 Tage) automatisch gelöscht werden.
Mein Ansatz war, über die Differenz an Tagen (aktuelles Datum - Datum an Log-Datei) zu entscheiden, welche Dateien gelöscht werden. Ich habe aber keine solche Funktion gefunden.
Vielleicht stelle ich mir dies auch zu kompliziert vor, aber meine Suche hat leider auch nichts ergeben.
Schönen Tag noch.
joec
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 43096
Url: https://administrator.de/contentid/43096
Ausgedruckt am: 16.11.2024 um 03:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo joec,
Mit batfiles kannst du keine Datumsberechnung ausführen. Es muss ein Zusatztool oder ein Script (VP oder Perl) her.
Ansätze findest entweder hier:
... oder mit delage32:
http://home.mnet-online.de/horst.muc/win/delage32.zip
http://home.mnet-online.de/horst.muc/win/delage.htm
... oder showdate, was ich mir zur Datumsberechnung geschrieben habe:
http://www.axel-hahn.de/axel/page_compi/wp_showdate.htm
Es kann etwa so aussehen - der Parameter /d: gibt eine Differenz in Tagen an:
set tmpbat="%temp%~tmpbat.bat"
showdate /f:"yymmdd" /d:-45 /p:"set oldDatum=" > %tmpbat%
call %tmpbat%
del %tmpbat%
del [Logverzeichnis]\prefix_%oldDatum%.log
Viele Grüsse
-= Axel =-
Mit batfiles kannst du keine Datumsberechnung ausführen. Es muss ein Zusatztool oder ein Script (VP oder Perl) her.
Ansätze findest entweder hier:
... oder mit delage32:
http://home.mnet-online.de/horst.muc/win/delage32.zip
http://home.mnet-online.de/horst.muc/win/delage.htm
... oder showdate, was ich mir zur Datumsberechnung geschrieben habe:
http://www.axel-hahn.de/axel/page_compi/wp_showdate.htm
Es kann etwa so aussehen - der Parameter /d: gibt eine Differenz in Tagen an:
set tmpbat="%temp%~tmpbat.bat"
showdate /f:"yymmdd" /d:-45 /p:"set oldDatum=" > %tmpbat%
call %tmpbat%
del %tmpbat%
del [Logverzeichnis]\prefix_%oldDatum%.log
Viele Grüsse
-= Axel =-
Vorschlag warum nicht folgender ansatz:
Du machst täglich eine Sicherung schreibst du. Also willst du alle löschen außer den 5 neusten.
Dann lass dir doch mit dem Dir Befehl alle logdateien (*.log) nach Datum sortiert ausgeben. Dabei stehen die neusten Dateien zuerst und ohne Header (mit der /b Option).
Dann gehst du über diese Liste mit einer for-Schleife drüber und gist dort ein Skip=5 mit.
So werden die ersten 5 Dateien (die 5 neusten) übersprungen udn alle andern gelöscht.
miniversum
Du machst täglich eine Sicherung schreibst du. Also willst du alle löschen außer den 5 neusten.
Dann lass dir doch mit dem Dir Befehl alle logdateien (*.log) nach Datum sortiert ausgeben. Dabei stehen die neusten Dateien zuerst und ohne Header (mit der /b Option).
Dann gehst du über diese Liste mit einer for-Schleife drüber und gist dort ein Skip=5 mit.
So werden die ersten 5 Dateien (die 5 neusten) übersprungen udn alle andern gelöscht.
miniversum
Hallo joec,
ich habe noch ein Update der showdate.exe auf meiner Disk aber noch nicht im Web - falls du noch eine Verschiebung um Stunden/ Minuten brauchen solltest:
http://www.axel-hahn.de/axel/page_compi/wp_showdate.htm
Viele Grüsse
Axel
ich habe noch ein Update der showdate.exe auf meiner Disk aber noch nicht im Web - falls du noch eine Verschiebung um Stunden/ Minuten brauchen solltest:
http://www.axel-hahn.de/axel/page_compi/wp_showdate.htm
Viele Grüsse
Axel