Momentanes Datum mit Datum aus Log File vergleichen und auf Bedingung löschen
hallo leute,
ich habe ein problem und hoffe jmnd kann mir weiter helfen, hier mal ein bisschen beschreibung:
ein server führt eine datensicherung durch, und speichert daraufhin in einem logfile einen bestätigungsstring mit datum/uhrzeit, wenn die datensciherung erfolgreich durchgeführt wurde.
nun habe ich einen ordner mit dateien, der auf vollzogener datensicherung geleert werden soll.
vorgestellt hab ich mir das folgendermaßen: timestamp im logfile und momentanes datum/uhrzeit wird verglichen..sagen wir um 23uhr jeden abend führt der server die datensicherung durch, und um 9uhr wird die batch datei jeden morgen ausgeführt, wird überprüft, ob in den letzten 10 std ein string gespeichert wurde. daraufhin kann der ordner geleert werden, findet die batch datei ncihts, wird nichts gemacht.
habe mir das ganze ein bisschen einfacher vorgestellt, komme aber nicht so wirklich in die batch geschichte rein. über suche konnte ich auch nichts genaues finden. würde mich freuen, wenn mir da jmnd weiter helfen könnte.
vielen dank im voraus!
gruß
ich habe ein problem und hoffe jmnd kann mir weiter helfen, hier mal ein bisschen beschreibung:
ein server führt eine datensicherung durch, und speichert daraufhin in einem logfile einen bestätigungsstring mit datum/uhrzeit, wenn die datensciherung erfolgreich durchgeführt wurde.
nun habe ich einen ordner mit dateien, der auf vollzogener datensicherung geleert werden soll.
vorgestellt hab ich mir das folgendermaßen: timestamp im logfile und momentanes datum/uhrzeit wird verglichen..sagen wir um 23uhr jeden abend führt der server die datensicherung durch, und um 9uhr wird die batch datei jeden morgen ausgeführt, wird überprüft, ob in den letzten 10 std ein string gespeichert wurde. daraufhin kann der ordner geleert werden, findet die batch datei ncihts, wird nichts gemacht.
habe mir das ganze ein bisschen einfacher vorgestellt, komme aber nicht so wirklich in die batch geschichte rein. über suche konnte ich auch nichts genaues finden. würde mich freuen, wenn mir da jmnd weiter helfen könnte.
vielen dank im voraus!
gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 111115
Url: https://administrator.de/forum/momentanes-datum-mit-datum-aus-log-file-vergleichen-und-auf-bedingung-loeschen-111115.html
Ausgedruckt am: 30.04.2025 um 22:04 Uhr
7 Kommentare
Neuester Kommentar
Hallo nevermind123!
Wäre nicht eher das jüngste Datum zu suchen und dann zu prüfen, ob es innerhalb der letzten 10 Stunden liegt (zumindest, wenn tatsächlich ein fortlaufendes Log geführt wird, wäre das älteste Datum doch sicher älter als 10 Stunden)?
Wenn ja, müsste es genügen, die letzte Zeile zu betrachten (da ja immer am Ende angefügt wird) ...
Grüße
bastla
Wäre nicht eher das jüngste Datum zu suchen und dann zu prüfen, ob es innerhalb der letzten 10 Stunden liegt (zumindest, wenn tatsächlich ein fortlaufendes Log geführt wird, wäre das älteste Datum doch sicher älter als 10 Stunden)?
Wenn ja, müsste es genügen, die letzte Zeile zu betrachten (da ja immer am Ende angefügt wird) ...
Grüße
bastla
Hallo nevermind123!
Etwas zum Testen:
Die gewünschte Stundenanzahl ist in Zeile 3 festzulegen, wobei für "vor 10 Stunden" ein negativer Wert zu verwenden ist.
Grüße
bastla
Etwas zum Testen:
@echo off & setlocal
set "Log=D:\Backups\log.txt"
set "St=-10"
set G=%temp%\GetTimeXHoursAgo.vbs
>%G% echo Set a=WScript.Arguments:T=DateAdd("h",a(0),a(1))
>>%G% echo WScript.Echo Mid(T,7,4)^&"-"^&Mid(T,4,2)^&"-"^&Left(T,2)^&Replace(Mid(T,11),":",".")
for /f "usebackq tokens=5,6" %%i in ("%Log%") do set "ZeitBack=%%i %%j"
for /f "delims=" %%i in ('cscript //nologo %G% %St% "%date% %time:~,8%"') do set "ZeitVergl=%%i"
if "%ZeitBack%" gtr "%ZeitVergl%" echo Aktuelle Sicherung gefunden: %ZeitBack%
Grüße
bastla