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, 3331 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
DSL, VDSL
DSL-Anschluß von außen überwachen (3)

Frage von SirSimon zum Thema DSL, VDSL ...

Monitoring
Zabbix, Server im WAN überwachen (5)

Frage von WinLiCLI zum Thema Monitoring ...

Windows Server
gelöst FTP-Upload per Batchdatei in der Aufgabenplanung (3)

Frage von Dullodir zum Thema Windows Server ...

LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

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

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(4)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft Office
Saubere HTML aus Word-Dokument (16)

Frage von peterpa zum Thema Microsoft Office ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...