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, 3327 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 ..
Neuester Wissensbeitrag
Windows Update

Windows Update-Suche nach Win7 Neuinstallation wieder schneller

(1)

Erfahrungsbericht von the-buccaneer zum Thema Windows Update ...

Ähnliche Inhalte
Netzwerke
gelöst Lancom 1781: Internetzugriffe überwachen (3)

Frage von mossox zum Thema Netzwerke ...

Windows Server
gelöst Falsche Login-Daten überwachen (2)

Frage von hesper zum Thema Windows Server ...

Batch & Shell
gelöst Per Skript Ordner überwachen und Textdateien editieren und verschieben (4)

Frage von ThorstenL zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
Bestehende eMails autoamatisch weiterleiten (21)

Frage von metal-shot zum Thema Exchange Server ...

Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (16)

Frage von ProfessorZ zum Thema Router & Routing ...