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
GELÖST

Batch zur Dienstüberwachung

Frage Entwicklung Batch & Shell

Mitglied: Houben

Houben (Level 1) - Jetzt verbinden

16.03.2010 um 15:20 Uhr, 9432 Aufrufe, 7 Kommentare

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
Mitglied: RogerWilco2009
16.03.2010 um 15:32 Uhr
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
Bitte warten ..
Mitglied: chainsaw
16.03.2010 um 15:54 Uhr
Hallo Houben,

Probier mal was in der Richtung:

01.
:start 
02.
tasklist | %systemroot%\system32\find /I "deinProzess.exe" 1>NUL: 2>NUL: && goto WARTE 
03.
 
04.
start deinProzess.exe 
05.
sleep 10 
06.
 
07.
:WARTE 
08.
sleep 10  
09.
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
Bitte warten ..
Mitglied: 60730
16.03.2010 um 16:06 Uhr
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

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

Gruß
Bitte warten ..
Mitglied: Houben
16.03.2010 um 16:21 Uhr
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
Bitte warten ..
Mitglied: 60730
16.03.2010 um 16:29 Uhr
?

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:
wmic service where "Name='spooler'" get status|find "OK" && echo ja ||echo nein

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.
Bitte warten ..
Mitglied: chainsaw
16.03.2010 um 17:52 Uhr
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)

Schönen Abend
Chainsaw
Bitte warten ..
Mitglied: 60730
16.03.2010 um 18:04 Uhr
Zitat von chainsaw:
Schönen Abend
Chainsaw
dito.

Immer frei nach dem Motto: Brot für die Welt, Torte für mich
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
Herunterfahren erkennen (Batch) (2)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...