Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Momentanes Datum mit Datum aus Log File vergleichen und auf Bedingung löschen

Frage Entwicklung Batch & Shell

Mitglied: nevermind123

nevermind123 (Level 1) - Jetzt verbinden

11.03.2009, aktualisiert 12.09.2012, 3480 Aufrufe, 7 Kommentare

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ß
Mitglied: bastla
14.03.2009 um 17:08 Uhr
Hallo nevermind123 und (etwas verspätet) willkommen im Forum!

Könntest Du bitte das Logfile (bzw speziell den "Bestätigungsstring") etwas genauer beschreiben?

Grüße
bastla
Bitte warten ..
Mitglied: nevermind123
16.03.2009 um 16:11 Uhr
hi,

hier mal ein string der datei:

bdzyhqct and 2009-02-17 16.04.31 0000-00-00 00.00.00 6 0.0000:0 27 0 0 2870 31587178 0 0 ALL online disk a--k-c 7.00 (38)


dort, wo "0000-00-00 00.00.00" steht, wird nach datensicherung der zeitpunkt festgehalten

vielen dank im voraus
Bitte warten ..
Mitglied: bastla
16.03.2009 um 19:31 Uhr
Hallo nevermind123!

Weitere Fragen:
Wie ist dieser String innerhalb der Datei zu finden (immer gleiche Zeile, Erkennungsmerkmal)?
Geprüft werden soll also, ob der String existiert, und wenn ja, einen Zeitpunkt angibt, der weniger als 10 Stunden zurück liegt?

Grüße
bastla
Bitte warten ..
Mitglied: nevermind123
17.03.2009 um 08:32 Uhr
also es ist eine textdatei, die immer wieder den string von der neuen datensicherung hinten heran hängt..sprich:

1. zeile: 1. datensicherung
2. zeile: 2. datensicherung
3. zeile: 3. datensicherung
usw usw.

ich dachte er sucht einfach genau alle zeilen durch, und sucht das älteste datum? mit diesem vergleicht er das jetzige datum und checkt ob es länger als 10 stunden zurück liegt.

wäre sowas in der richtung möglich?

danke im voraus
Bitte warten ..
Mitglied: bastla
17.03.2009 um 08:55 Uhr
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
Bitte warten ..
Mitglied: nevermind123
17.03.2009 um 09:02 Uhr
ja richtig, habe mich da ein wenig fehlerhaft ausgedrückt :D

das jüngste natürlich!
Bitte warten ..
Mitglied: bastla
17.03.2009 um 18:48 Uhr
Hallo nevermind123!

Etwas zum Testen:
01.
@echo off & setlocal 
02.
set "Log=D:\Backups\log.txt" 
03.
set "St=-10" 
04.
 
05.
set G=%temp%\GetTimeXHoursAgo.vbs 
06.
>%G%  echo Set a=WScript.Arguments:T=DateAdd("h",a(0),a(1)) 
07.
>>%G% echo WScript.Echo Mid(T,7,4)^&"-"^&Mid(T,4,2)^&"-"^&Left(T,2)^&Replace(Mid(T,11),":",".") 
08.
 
09.
for /f "usebackq tokens=5,6" %%i in ("%Log%") do set "ZeitBack=%%i %%j" 
10.
for /f "delims=" %%i in ('cscript //nologo %G% %St% "%date% %time:~,8%"') do set "ZeitVergl=%%i" 
11.
 
12.
if "%ZeitBack%" gtr "%ZeitVergl%" echo Aktuelle Sicherung gefunden: %ZeitBack%
Die gewünschte Stundenanzahl ist in Zeile 3 festzulegen, wobei für "vor 10 Stunden" ein negativer Wert zu verwenden ist.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Batch & Shell
gelöst Kl. Frage: Log-File schreiben per Batch (3)

Frage von Yauhun zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Änderungsdatum von Dateien vergleichen und ältere löschen (10)

Frage von 129528 zum Thema Batch & Shell ...

Datenbanken
gelöst SQL-Abfrage - DISTINCT - letztes Datum (3)

Frage von emeriks zum Thema Datenbanken ...

Exchange Server
Exchange 2010 Akzeptierte Domäne löschen (4)

Frage von Rob1982 zum Thema Exchange Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (17)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...