2016-10-11 3 views
0

Also bin ich ein Linux-Typ, mache das schon eine Weile, und nun hat der Chef mich gebeten, etwas auf einem Windows 2008 Server anzuschauen. Im Grunde gibt es eine Java-App, die etwas tut, und gelegentlich hängt es. Die Sache ist, dass, es sei denn, jemand beobachtet es tatsächlich, es gibt keinen Hinweis, dass es aufgehängt hat.Powershell zum Überprüfen der Datei * Nicht * Modifiziert

Die Anwendung schreibt in eine Protokolldatei auf dem Server 2008 und aktualisiert sie alle fünf Minuten. Wenn die Anwendung hängt, hört sie (offensichtlich) auf, in die Protokolldatei zu schreiben.

Ich möchte einen Weg, um diese Datei alle sagen, fünfzehn Minuten zu überprüfen, und wenn die Datei in den letzten fünfzehn Minuten nicht geändert wurde, senden Sie eine Warnung.

Kann dies getan werden? Ist es schrecklich kompliziert? Wäre es einfacher, es in bash/cygwin zu schreiben?

Vielen Dank.

+0

Mögliche Duplikat [Powershell: Überprüfen Sie, ob eine Datei gesperrt] (http://stackoverflow.com/questions/24992681/powershell-check-wenn-eine-Datei-ist-gesperrt) – Hackerman

+0

Nein, das ist nicht das Gleiche. –

Antwort

1

Erstellen Sie eine geplante Aufgabe, die ein Powershell-Skript läuft so etwas wie dies alle 5 Minuten enthalten oder so:

$logfile = 'C:\path\to\your.log' 
$threshold = (Get-Date).AddMinutes(-15) 

if ((Get-Item $logfile).LastWriteTime -lt $threshold) { 
    # send alert 
} 
+0

Das sieht perfekt aus, danke. –

+0

@DarrenMatheson Gern geschehen. Bitte beachten Sie [Annahme der Antwort] (http://meta.stackoverflow.com/a/5235), wenn Sie feststellen, dass es Ihr Problem gelöst hat. –

+0

Gibt es in PowerShell eine Möglichkeit, eine E-Mail-Benachrichtigung per E-Mail in UNIX zu senden? –

Verwandte Themen