Nahezu jede Software erstellt Log-Files die bei möglichen Problemen auch sehr hilfreich sein können. Leider werden alte Logs nicht immer automatisch gelöscht, so z.B. beim Tomcat. Dieser legt massig Log-Files an und läßt diese dann unendlich stehen… Hier kann ein einfaches Script helfen.
Das nachfolgende Script ist speziell auf den Tomcat ausgelegt, kann aber natürlich auch für jedes andere Verzeichnis oder andere Dateien entsprechend modifiziert werden.
@ECHO OFF
:: -----------------------------------------------------------------------------------
:: Dieses Script loescht alte Logfiles entsprechend der nachfolgend gemachten Angaben
:: Dabei wird nicht direkt anhand von Datum entschieden, sondern es bleiben schlicht
:: die aktuellen X Dateien bestehen, alle anderen werden geloescht
:: Infoquelle: http://www.administrator.de/index.php?content=6427
:: -----------------------------------------------------------------------------------
:: - Variablendefinition
:: Wieviele aktuellen Dateiversionen sollen behalten werden?
SET AnzBehalten=3
:: Pfade in dem die Logdateien liegen
SET "Pfad=C:pfadtomcatlogs"
:: Dateimasken festlegen
SET "Maske01=%Pfad%admin.*.log"
SET "Maske02=%Pfad%catalina.*.log"
SET "Maske03=%Pfad%host-manager.*.log"
SET "Maske04=%Pfad%localhost.*.log"
SET "Maske05=%Pfad%manager.*.log"
:: Entfernen der Dateien gemaess der Vorgaben, je Maske ein eigener Aufruf
FOR /f "skip=%AnzBehalten%" %%i IN ('DIR /B /O-D /TC "%Maske01%"') DO DEL /F /Q "%Pfad%%%i"
FOR /f "skip=%AnzBehalten%" %%i IN ('DIR /B /O-D /TC "%Maske02%"') DO DEL /F /Q "%Pfad%%%i"
FOR /f "skip=%AnzBehalten%" %%i IN ('DIR /B /O-D /TC "%Maske03%"') DO DEL /F /Q "%Pfad%%%i"
FOR /f "skip=%AnzBehalten%" %%i IN ('DIR /B /O-D /TC "%Maske04%"') DO DEL /F /Q "%Pfad%%%i"
FOR /f "skip=%AnzBehalten%" %%i IN ('DIR /B /O-D /TC "%Maske05%"') DO DEL /F /Q "%Pfad%%%i"
Per geplanten Task aufgerufen, sorgt das Script dann für ein sauberes Log-Verzeichnis.
Natürlich ist es auch möglich die Dateien z.B. zu verschieben oder zu packen, damit ein späterer Zugriff doch noch möglich wäre.