Programm das logdateien nach einem bestimmten alter Löscht

chrisxjr

Lieutenant
Registriert
Okt. 2006
Beiträge
696
Hallo zusammen,

ich mache eine Ausbildung zum Fachinformatiker Fachrichtung Systemintegration.

Mein Ausbilder hat mich jetzt beauftragt ein Skript zu schreiben.
Es soll mittels batch datei möglich sein Log dateien die älter als 14 Tage sind automatisch zu
löschen.

Es kann auch ein vorgefertigtes Programm sein, hauptsache ist das es voll automatisch
von statten geht.

Wie gesagt es soll eine batch datei sein oder etwas mit PHP, perl oder ähnliches... ganz egal!

Vielen dank für eure hilfe!

PS: es sind *.log und *.trc Dateien
 
Zuletzt bearbeitet:
hi!

danke, nach langer such recherche habe ich delage32 eben auch gefunden...
Nur ich blicke da absolut nicht durch...
Man läd sich eine exe datei herunter, beim starten dieser .exe datei geht für ne halbe
sekunde ein Fenster auf, dass wars dann aber auch.

ich schätze mal das man es irgendwie mit der eingabeaufforderung bearbeiten muss.

Nur ich bin da absolut ahnungslos.... Ich habe da keinerlei Ahnung!


Vielen dank für eure Hilfe!
 
Ich teste mal und schreib dann wieder.
Edit:
Also, man kopiert die delage32.exe entweder in den System32 Ordner oder lässt sie bei der Batch-Datei mit folgendem Inhalt:
DelAge32 <ORDNER>*.<ENDUNG> <TAGE> /recurse
Damit löscht man in ORDNER (mit \ am Ende) alle Dateien mit der Endung ENDUNG, welche TAGE Tage alt sind. Hoffe, dass es verständlich ist^^.
 
Zuletzt bearbeitet:
mhhh...
ne im moment verstehe ich das nicht ganz.

Ich muss also auf dem Server die delage32.exe in das System32 Ordner kopieren.
Das heisst, die .exe macht alles voll automatisch?! Also muss ich diese nie starten damit
die Logs die älter als 14 Tage sind gelöscht werden?!

Desweiteren habe ich 2 endungen die gelöscht werden sollen... einmal *.log und *.trc kann man das irgendwie einbinden?!

Am besten wäre ich beholfen wenn du mir mal eine komplette Eingabe schreibst die ich machen muss... als Ordner mal Testordner oder so.
 
Hat der Server Windows? Ich kenn mich mit Servern direkt nicht aus, deshalb wüsste ich nur eine Desktoplösung, das wäre:
In den Autostartordner (oder in den Registry Run Ordner) eine Batch mit folgendem Inhalt anzulegen:
Code:
DelAge32 C:\*.log 14 /recurse
DelAge32 C:\*.trc 14 /recurse

C:\ muss in dem Fall durch den Ordner ersetzt werden, in dem die Dateien gelöscht werden sollen, falls auf der ganzen Festplatte die log und trc Dateien gelöscht werden sollen, einfach den Festplattennamen (wie oben) angeben, dadurch werden auch die Dateien in den Unterordnern gelöscht (wenn sie älter als 14 Tage sind und eben eine log oder trc Datei sind).
 
Zuletzt bearbeitet:
also müsste die batch datei so aussehen in meinem Beispiel:

DelAge32 C:\Dokumente und Einstellungen\je\Desktop\Test *.log 14 /recurse
DelAge32 C:\Dokumente und Einstellungen\je\Desktop\Test *.trc 14 /recurse


Muss zwischen dem C:\Dokumente und Einstellungen\je\Desktop\Test und dem *.log u. *.trc ein leerzeichen,
oder wird das direkt an einander geschrieben.


Edit: also ich habe es gerade so versucht... und habe zum testen .pdf anstatt *.log eingeben.
Doch leiter tut sich nichts.. Ein Eingabeaufforderungsfenster geht auf aber schliesst sich ca
nach einer Sek.

So sah es jetzt bei mir zum testen aus:
DelAge32 C:\Dokumente und Einstellungen\je\Desktop\Test .pdf 14 /recurse
DelAge32 C:\Dokumente und Einstellungen\je\Desktop\Test .jpg 14 /recurse
 
Zuletzt bearbeitet:
ah jetzt hat es funktioniert!

nur er hat wohl probleme mit Pfaden wo ein leerzeichen ist.
Quasi in Dokumente und Einstellungen.

Ich habe mir eben einen Ordner unter C:\test gemacht
da ging es wunderbar!!!

Nur leider nicht mit den leerzeichen. Muss ich das irgdnwie in die Batchdatei
noch integrieren das auch Pfade mit Leerzeichen funktionieren?!
 
Hallo,

du musst Ausdrücke mit Leerzeichen in Anführungszeichen setzen, also zb. so:

DelAge32 C:\Dokumente und Einstellungen\je\Desktop\Test .pdf 14 /recurse --> DelAge32 "C:\Dokumente und Einstellungen\je\Desktop\Test .pdf 14" /recurse

btw gibt es für solche und noch viele andere Aufgaben das Microsoft-Tool Robocopy, das delage ist ja sehr spezifisch nur für diese Aufgabe gedacht.

Mit den über 70 Schaltern bei Robocopy kann man fast jede Dateiaufgabe realisieren!

PCB
 
So hatte ich es bisher auch probiert...

Nur jetzt bekomme ich folgendes Ausgespuckt:

C:\Dokumente und Einstellungen\je\Desktop\Test>DelAge32 "C:\Dokumente und Einste
llungen\je\Desktop\Test\*.* 14" /recurse
DelAge32, ver. 2.0 (c) 2003-2006, Horst Schaeffer
Deletes or moves files (path with file pattern) by age (number of days)
Syntax: DelAge32 filespec age [options]
Options:
/created /accessed /modified (default) - file stamp used to evaluate age
/includeRO - include read-only files
/includeH - include hidden files
/recurse - include subdirectories
/subonly - /recurse excluding starting directory
/rd - remove directory if empty
/move path - move files to specified path
/preview - list, but no action
/quiet - no output

C:\Dokumente und Einstellungen\je\Desktop\Test>pause
Drücken Sie eine beliebige Taste . . .

So hatte ich den Befehl bisher aufgebaut, bzw. verschiedene Arte mit den " " ausprobiert:
DelAge32 "C:\Dokumente und Einstellungen\je\Desktop\Test\*.* 14" /recurse
DelAge32 "C:\Dokumente und Einstellungen"\je\Desktop\Test\*.* 14 /recurse
DelAge32 C:\"Dokumente und Einstellungen"\je\Desktop\Test\*.* 14 /recurse

alles schlug bisher fehl.

Ich schätze mal das das Programm ansich mit der Syntax nicht zurecht kommt.
 
Zuletzt bearbeitet:
Oh, ich sehe grade, das die 14 ja ein Parameter ist, der darf natürlich nicht in den Anführungszeichen sein, die Synthax sollte dann so ausschauen:

DelAge32 "C:\Dokumente und Einstellungen\je\Desktop\Test\*.*" 14 /recurse

Bei deinen Tests hattest du ausgerechnet diese Variante nicht probiert.;)


Ach ja, noch ein Tipp von FiSi zu angehenden FiSi;) :

Das A und O ist probieren, probieren und nochmals probieren, damit kommt man irgendwann meist zum Ziel.:cool_alt:

PCB
 
ob du es glaubst oder nicht =)

ich habe zig sachen versucht... aber genau.... genau die eine sache noch nicht!


Aber es funktioniert jetzt! Super!


Vielen lieben dank!
 
Hehe ;), bitteschön, hauptsache es geht jetzt!
 
Zurück
Oben