houben
Goto Top

Batch zur Dienstüberwachung

Hallo

ich habe folgendes Problem:

Bei uns stürtzt regelmäßig auf einem Server die Druckerwarteschlange ab. Nun wollte ich mittels Batchdatei diesen Dienst überwachen und gegebenenfalls neu starten.

Ich habe auch schonmal folgende Batch geschrieben:

@echo off
:start
wmic service where "Name='spooler'" get status>%variable%
if %variable%!='Status OK'
(
net start spooler
)
ping localhost -n 10>nul
goto start


leider funktioniert diese Batch nicht. Könnt ihr mir bitte helfen?

Houben

Content-Key: 138387

Url: https://administrator.de/contentid/138387

Printed on: April 18, 2024 at 08:04 o'clock

Member: RogerWilco2009
RogerWilco2009 Mar 16, 2010 at 14:32:12 (UTC)
Goto Top
Hallo Houben,

ich bin jetzt mal neugierig, warum sagts Du in der GUI der Diensteverwaltung Dienst "Druckerwarteschlange" "Eigenschaften" nicht, unter dem Raider "Wiederherstellung", daß er den Dienst im Fehlerfall wieder starten soll?

Gruß Roger
Member: chainsaw
chainsaw Mar 16, 2010 at 14:54:19 (UTC)
Goto Top
Hallo Houben,

Probier mal was in der Richtung:

:start
tasklist | %systemroot%\system32\find /I "deinProzess.exe" 1>NUL: 2>NUL: && goto WARTE  

start deinProzess.exe
sleep 10

:WARTE
sleep 10 
goto start

So könnte das bei dir eventuell auch funktionieren. Ich überwache damit eine Software die sich dann
(falls der Prozess nicht mehr gefunden wird) neu startet.
Dazu muß der Batch aber auf dem betreffenden PC laufen und nicht auf irgendeinem Client.

Gruß Chainsaw
Mitglied: 60730
60730 Mar 16, 2010 at 15:06:22 (UTC)
Goto Top
Moin,

@ Roger - sehe ich auch so.
@ Chainsaw - das ist aber der falsche Weg....
Find ist - sollte sich in %systemroot%\system32\ befinden - aber - dieser Pfad ist im Pfad - von daher ist ein Find auch ohne den Pfad zu nennen, in dem die Find.exe liegt - auch zielführend.

Und Last but not least:

Einen Dienst startet man nicht per start, sondern per net start, was fast das gleiche ist wie Java und Javascript.
Also wenn schon mit einer Batch - eher

net start |find "dienst" && goto eof ||net start dienst  


Gruß
Member: Houben
Houben Mar 16, 2010 at 15:21:09 (UTC)
Goto Top
ersteinmal danke für die Antworten.

@ RogerWilco2009

unter dem Reiter steht schon das er ihn neustarten soll aber er tut es nicht.

@chainsaw

danke das war die Lösung


Houben
Mitglied: 60730
60730 Mar 16, 2010 at 15:29:05 (UTC)
Goto Top
?

mit Tasklist sieht man alles, aber keine gestarteten Dienste.

Von daher ist der Ansatz mit
tasklist | find /I "spooler"
genauso "falsch", wie
start deinProzess.exe

denn start ist nicht net start und unabhängig davon - start will als ersten Parameter eine Beschreibung haben.

Und um den Bock in deinem eigenen Ansatz auch loszuwerden.
Du pipest die Ausgabe von
wmic service where "Name='spooler'" get status>%variable%
in eine "%variable%" und fragst dann "diese" nicht definierte "Datei" ab
if %variable%!='Status OK'
Also Äpfel Birnen und Hackschnitzel in einen Komposthaufen geworfen

Dann doch lieber so:

Und aus gutem Grund hab ich dir das als Einzeiliges Scriptschnippselchen gegeben und nicht als Ressourcenfressenden Dauerläufer.
Einmal alle 15 minuten per schtasks sollte reichen. Besser wäre es jedoch der Ursache auf den Grund zu gehen.

Gruß
edit
"das" nur deshalb, weil Frank alle gelösten Threads in Benutzer.de erscheinen läßt und der "angebliche" Hint der Hints ein Griff in die falsche Schüssel ist.
Member: chainsaw
chainsaw Mar 16, 2010 at 16:52:28 (UTC)
Goto Top
Zitat von @60730:
Find ist - sollte sich in %systemroot%\system32\ befinden - aber - dieser Pfad ist im Pfad - von daher ist ein Find auch ohne den Pfad zu nennen, in dem die Find.exe liegt - auch zielführend.

Sorry das ist zu hoch für mich - kann dir nur sagen, dass der "Ressourcefressende Dauerläufer" funktioniert und gerade mal 1.960 K vom Arbeitsspeicher verbraucht.
Um es mit einem Zitat aus Wolfgang Petersens "Das Boot" abzuschließen: "Das muß das Boot abkönnen..." (in diesem Fall halt dann der PC statt des Bootes) face-wink

Schönen Abend
Chainsaw
Mitglied: 60730
60730 Mar 16, 2010 at 17:04:41 (UTC)
Goto Top
Zitat von @chainsaw:
Schönen Abend
Chainsaw
dito.

Immer frei nach dem Motto: Brot für die Welt, Torte für mich
Hotly discussed
AlexWishaHow to set up and configure a Linux GRE tunnelAlexWisha - 3 CommentsDaniEnd of Support dates for Office 2016, 2019 Apps und Productivity ServersDani - 1 Comment