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

gelöst Watchdog - Datei auf Änderungen überwachen mit Batch

Mitglied: georg2204

georg2204 (Level 1) - Jetzt verbinden

14.06.2018 um 06:51 Uhr, 454 Aufrufe, 2 Kommentare

Hallo,

ich habe ein Programm, welches in kurzen Abständen immer wieder über COM1 Daten abfragt und diese speichert / weiter verarbeitet.

Manchmal kommt es jedoch vor, dass etwas mit dem Zugriff nicht klappt und die Anwendung abstürzt, da keine Kommunikation hergestellt werden kann.
Man sieht das dann nur, wenn keine Meldungen mehr kommen und dann muss der Rechner oder die Anwendung neu gestartet werden.

Nun möchte ich über Batch oder Powershell einfach die Logdatei der Anwendung überwachen und bei längerer Inaktivität den PC neu starten.

Beispiel:

Dateiänderungsdatum länger als 30 Minuten
Schreibe in Logfile "Watchdog aktiv - Neustart wird ausgeführt"
Neustart

Da ich schon ein Batch Programm habe, welches auf vorhandene Meldungen von dem zu überwachenden Programm prüft und diese weiter verarbeitet, wäre es ganz praktisch hier die Abfrage mit einzubauen.

Habt ihr eine Idee, wie man sowas abfragt? Ich komme leider nicht mehr weiter.

Danke und Gruß,
Georg
Mitglied: colinardo
LÖSUNG 14.06.2018, aktualisiert um 17:02 Uhr
Hallo Georg,
das lässt sich ziemlich schnell mit einem FileSystemWatcher erledigen. Dazu gibt es hier von mir und anderen schon diverse Threads dazu wenn man ein Logfile überwachen möchte.
Siehe https://www.administrator.de/search/index.php?query=FileSystemWatcher&am ...

Einfaches Beispiel mit Powershell das ein Logfile permanent überwacht und nach einer gewissen Zeit ohne Änderung eine Aktion ausführt
01.
# Datei deren Inhalt überwacht werden soll 
02.
$file = 'D:\Daten\logfile.txt' 
03.
# Max Zeit ohne Änderungen in Sekunden 
04.
$global:maxtime = 1800 
05.
# --------- 
06.
# Zeit der letzten Änderung 
07.
$global:lastchange = get-date 
08.
# Eventuell existierenden Event subscriber löschen 
09.
Get-EventSubscriber FileChanged -EA SilentlyContinue | Unregister-Event -Force 
10.
# Filesystemwatcher erstellen 
11.
$fsw = New-Object IO.FileSystemWatcher (Split-Path $file -Parent), (Split-Path $file -Leaf) -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}  
12.
# Filesystemwatcher registieren 
13.
Register-ObjectEvent $fsw Changed -SourceIdentifier FileChanged -Action { 
14.
    # Pfad zur Datei 
15.
    $fullpath = $Event.SourceEventArgs.FullPath 
16.
    $global:lastchange = $Event.TimeGenerated 
17.
} | out-null 
18.
 
19.
cls 
20.
write-host "Überwache Datei '$file' ..." -F Green 
21.
while($true){ 
22.
    if ((get-date) -gt $global:lastchange.AddSeconds($global:maxtime)){ 
23.
        write-host "Letzte Änderung an der Datei liegt länger als $global:maxtime Sekunden zurück." -F Yellow 
24.
        # Tu hier was 
25.
        # z.B. Prozess neu starten oder Rechner neu starten 
26.
        # Restart-Computer -Force 
27.
        break 
28.
29.
    sleep 1 
30.
}
Es gibt aber auch die Möglichkeit über Win32_Process und der Responding Methode abzufragen ob ein Prozess noch auf Anfragen reagiert, das wäre aber dann erst einmal zu prüfen wie die Anwendung hier reagiert. Ausschnitt dafür (Powershell)
01.
if (!(Get-Process -Name  "AnwendungXYZ").Responding) { 
02.
     write-host "Prozess reagiert nicht auf Anfragen" 
03.
}
All das kannst du problemlos auch in deine Batch einbauen. Wie das geht steht auch hier zur Genüge im Forum. Unsere Suchmaschine liefert dir die passenden Ergebnisse dazu.

Grüße Uwe
Bitte warten ..
Mitglied: georg2204
14.06.2018 um 19:25 Uhr
Danke Uwe! Hatte dies so leider nicht gefunden. Läuft perfekt,

Gruß Georg
Bitte warten ..
Ähnliche Inhalte
Ubuntu

Linux, Änderungen am Dateisystem überwachen

Frage von StefanKittelUbuntu3 Kommentare

Hallo, kennt Jemand von Euch eine Möglichkeit Änderungen am Dateisystem bei Linux (Ubuntu 14.04 LTS) zu protokollieren? Es geht ...

VB for Applications

Vbscript batch bei änderung ausführen

Frage von chgs2011VB for Applications1 Kommentar

Hallo, ich habe ein Batch-File, das mir einige Arbeiten erleichtert. Ich möchte aber das Batch-File nicht im Minutentakt antriggern, ...

Windows Server

Zugriff auf exe Datei überwachen

gelöst Frage von sardldbWindows Server2 Kommentare

Hallo Zusammen Ich habe lange gegoogelt und mir auch ProcessMonitor heruntergeladen und ausprobiert. Leider komme ich nicht auf mein ...

Microsoft Office

Excel Datei gespeichert - aber Änderungen sind weg :((

Frage von Jonas42Microsoft Office17 Kommentare

Schönen Abend zusammen ich habe gerade stundenlang an einer Excel-Datei gearbeitet, die auf einem NAS liegt. Beim Schließen dann ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 10 StundenErkennung und -Abwehr1 Kommentar

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 18 StundenVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 2 TagenDrucker und Scanner3 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 3 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Heiß diskutierte Inhalte
Microsoft
VPN Verbindung kann nicht aufgebaut werden
Frage von AlexderITlerMicrosoft35 Kommentare

Hallo, Ich möchte an einem unserer PCs in unserer Tochterfirma eine VPN zu unserem Netzwerk einrichten. Das schlägt allerdings ...

Windows Server
Domäne einsilbig mit nur einem Namen benannt - sowie AD und MX auf einer VM Kardinalsfehler?
Frage von TomTestWindows Server27 Kommentare

Hallo liebe Freunde gepflegter Probleme, seit kurzem soll ich eine Domäne verwalten die zuvor von einem IT-Dienstleister erstellt und ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
gelöst Frage von Marcel1989Datenbanken19 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

DNS
Gibt es eine Art DNS Proxy?
Frage von icepietDNS15 Kommentare

Hallo Nerds, Ich würde gerne folgendes machen: ts.domain.de:3389 soll auf 1.2.3.4:3389 auflösen ts2.domain.de:3389 soll auf 1.2.3.4:3390 auflösen Gibt es ...