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

Zeitstempel via Batchdatei überwachen, aber wie?

Frage Microsoft

Mitglied: enssenje

enssenje (Level 1) - Jetzt verbinden

18.06.2007, aktualisiert 12:33 Uhr, 3328 Aufrufe, 3 Kommentare

Hallo Zusammen,

Vorgeschichte:

Ich überwache zur Zeit einige Dateien, die von verschiedenen UNIX-Servern auf einen Fileserver kopiert werden. Dies geschieht in einem Intervall von 5 min. durch einen Cronjob auf dem UNIX-System über SSH. In der letzten Zeit kam es vermehrt zu unstimmigkeiten, da einige Dateien nicht auf den Fileserver transferiert wurden, da der SSH Dienst auf dem Unix-Rechner schlapp gemacht hat bzw. der OpenSSH Service auf dem Windows-System abgestürtzt ist.

Ich möchte nun in gewissen Abständen, eine (oder mehrere) Batch Datei(en) zur Überwachung laufen lassen um den Zeitstempel der Datei(en) mit der aktuellen Uhrzeit zu vergleichen. Ist die Divagenz zu gross soll die Batch mit einem bestimmten Exit-Code beendet werden, so dass ich mit einer Überwachungssoftware eine Meldung ausgeben kann.

Könnte mir in dieser Angelegenheit jemand weiterhelfen?
Mitglied: bastla
18.06.2007 um 11:18 Uhr
Hallo enssenje und willkommen im Forum!

Falls ich Dich richtig verstanden habe, könnte folgende Lösung per VB-Script funktionieren:
01.
Const DiffDefault = 5 
02.
If WScript.Arguments.Count < 1 Then WScript.Quit(2) 
03.
File = WScript.Arguments(0) 
04.
Set fso = CreateObject("Scripting.FileSystemObject") 
05.
If Not fso.FileExists(File) Then WScript.Quit(2) 
06.
FileDateTime = fso.GetFile(File).DateLastModified 
07.
If WScript.Arguments.Count < 2 Then  
08.
    Diff = DiffDefault 
09.
Else 
10.
    If IsNumeric(WScript.Arguments(1)) Then 
11.
    	Diff = CInt(WScript.Arguments(1)) 
12.
    Else	 
13.
        Diff = DiffDefault 
14.
    End If 
15.
End If 
16.
If DateDiff("n", FileDateTime, Now) > Diff Then 
17.
    WScript.Quit(1) 
18.
End If
Falls das Script etwa unter "C:\Scripts\Aktuell.vbs" gespeichert wäre, würde ein Aufruf (zum Testen) aus einer Batchdatei etwa so aussehen:
01.
@echo off 
02.
cscript //nologo "C:\Scripts\Aktuell.vbs" "D:\Testdatei.txt" 10 
03.
if errorlevel 2 echo Datei nicht gefunden ... & goto :eof 
04.
if errorlevel 1 echo Datei zu alt (mehr als 10 Minuten) & goto :eof 
05.
echo Datei OK
Übergeben werden muss der Name der zu prüfenden Datei. Zusätzlich kann die Minutenanzahl für das Alter der Datei angegeben werden (ansonsten wird der im Script gesetzte Defaultwert von 5 Minuten verwendet).

Das Script endet
mit Errorlevel 2, wenn kein oder ein ungültiger Dateiname angegeben wurde,
mit Errorlevel 1, wenn das Alter in Minuten über der angegebenen (oder defaultmäßigen) Schwelle liegt bzw
mit Errorlevel 0, wenn das Alter in Minuten <= Schwelle.

Zur Altersbestimmung wird das Änderungsdatum ("DateLastModified") herangezogen - alternativ könnte "DateCreated" (für Erstellungsdatum) verwendet werden.

Grüße
bastla

[Edit] Korrigierte Version. [/Edit]
Bitte warten ..
Mitglied: enssenje
18.06.2007 um 12:27 Uhr
Na da kann ich nur Applaudieren und ein "Dankeschön" vom Stapel lassen.

Habe noch ein paar kleinere modifikationen an dem Batchscript vorgenommen...aber alles Super.

Könnte ich noch erfahren, was in der korrigierten Version verändert worden ist?


Mit freundlichen Grüßen
Bitte warten ..
Mitglied: bastla
18.06.2007 um 12:33 Uhr
Hallo enssenje!

Beim Übernehmen des zweiten Arguments (Zeitangabe) hatte ich die Prüfung auf "numerisch" noch nicht drinnen.

Die Batchdatei war ohnehin rein zu Demo-/Testzwecken gedacht ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batchdatei für Aufgabenplanung zum Löschen von Backups (2)

Frage von Winuser zum Thema Batch & Shell ...

Batch & Shell
gelöst Verzeichniss überwachen Datei kopieren und umbenennen (6)

Frage von fischle63 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

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

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...