deaxx84
Goto Top

Robocopy automatisches Löschen von Logs

Hallo,
ich habe hier ein Robocopy Skript , was ich nach jeder Anmeldung beim/vom User ausführen lasse.

Da hier auch ein Log separat geschrieben wird, würde ich gern das Skript so haben, dass es immer nach 5 Tagen die 4 ältesten Logs löscht und dann neue schreibt.

Hat jemand hier vielleicht eine Idee?

robocopy C:\Test23\ Z:\Test23\ /MIR /R:3 /W:4 /LOG:Z:\Logdateien\logdatei.txt

Content-Key: 1574954162

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

Printed on: April 19, 2024 at 20:04 o'clock

Member: em-pie
em-pie Dec 01, 2021 updated at 09:36:04 (UTC)
Goto Top
Moin,

  • Robocopy via Powershell ausführen
  • die LogDatei um ein Datum ergänzen
    • 20211125_logfile.txt
    • 20211126_logfile.txt
    • 20211129_logfile.txt
    • 20211130_logfile.txt
    • 20211201_logfile.txt
  • via Powershell alle logfile ermitteln, die älter denn "aktuelles Datum - 5 Tage" und danach löschen.
    • Get-ChildItem()
    • Where-Object ($_.LastWriteTime -ge 'blabla' -and $_.Name -like '*_logfile.txt')
    • Move-Item
    • Pipen

Damit solltest du starten können face-smile

Gruß
em-pie
Member: Nebellicht
Nebellicht Dec 01, 2021 updated at 09:49:42 (UTC)
Goto Top
Hallo Deaxx84,
sind zwar dann ein paar Tage mehr... aber wie wäre es damit. Hier wird nix gelöscht aber immer überschrieben
(Wochentag Rhythmus). D.h. der Logdatei wird der Wochentag angehängt.


robocopy C:\Test23\ Z:\Test23\ /MIR /R:3 /W:4 /LOG:"Z:\Logdateien\$((get-date).dayofweek) logdatei.txt"
Mitglied: 149569
149569 Dec 01, 2021 updated at 09:58:30 (UTC)
Goto Top
@echo off
set "logdir=Z:\Logdateien"  
for /f "skip=5 delims=" %%a in ('dir /b /a-d /o-d "%logdir%\*.txt"') do del "%logdir%\%%a"  
Member: Deaxx84
Deaxx84 Dec 01, 2021 at 10:09:48 (UTC)
Goto Top
Das mit dem überschreiben habe ich schon gemacht, es geht hier eher um die Automatische Löschung der alt Logs
Member: Deaxx84
Deaxx84 Dec 01, 2021 at 10:12:46 (UTC)
Goto Top
hier bekomme ich folgendes Ergebnis : $((get-date).dayofweek) logdatei