Top-Themen

Aktuelle Themen (A bis Z)

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, 3361 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
Batchdatei - CSV-Datei umbennen mit Zeitstempel
gelöst Frage von jweghornBatch & Shell7 Kommentare

Hallo zusammen, für mein Problem habe ich hier schon einiges gefunden, wurde aber für exakt meine Vorgabe nicht ganz ...

Batch & Shell
Batchdatei - CSV-Datei umbennen mit Zeitstempel - zweistellige Stundenanzeige
gelöst Frage von jweghornBatch & Shell7 Kommentare

Hallo, man hat mir hier bereits sehr geholfen, jedoch bin ich noch nicht ganz am Ziel und ich hoffe ...

Exchange Server
Exchnage mit POPBeamer Zeitstempel zurücksetzten
gelöst Frage von miichiii9Exchange Server5 Kommentare

Guten Tag liebe Admins Ich wünsche euch ein gutes neues Jahr. Ich habe ein Problem mit dem Zeitstempel. Das ...

Batch & Shell
Zeitstempel an kopierter Datei
gelöst Frage von RitzratzBatch & Shell4 Kommentare

Hallo, ich kopiere aus einer Quelle Dateien an unterschiedliche Ordner. Dieses Script wird mehrmals am Tag ausgeführt. Die Dateinamen ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter wieder installieren auf einer frischen Windows-Installation

Tipp von Lochkartenstanzer vor 12 StundenMicrosoft Office

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 14 StundenDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 15 StundenSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 18 StundenMicrosoft Office1 Kommentar

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Server-Hardware
Veeam Backup Server stürzt alle paar Tage ab
Frage von Leo-leServer-Hardware11 Kommentare

Hallo Forum, ich habe momentan folgendes Problem. Veeam Backup and Replication 9.5 u2 auf voll gepatchten DL 380 G7 ...

Windows 10
Win10 Laptop findet keine Netzwerkgeräte und Freigaben mehr
Frage von CoolzeroWindows 1010 Kommentare

Hi, seit ein paar Tagen habe ich das Problem das mein Windows 10 Laptop keine Geräte mehr in der ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell10 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...