cmaster
Goto Top

Task wird während Ausführung abgebrochen

Hi,

ich habe einen Rechner mit Win Home Server.

Über geplante Tasks lasse ich beim Systemstart folgende Batch-Datei ausführen, die einen Dienst nach ca. 5 min, nach Systemstart, neustarten soll:
  set log=log\Dienst_hMailServer_restart.log
  echo.>>%log%

  echo %date% %time%   Wait for MyService-Restart>>%log%
ping localhost -n 300

  echo %date% %time%   Stop MyService>>%log%
net stop MyService
  echo %date% %time%   Start MyService>>%log%
net start MyService
  echo %date% %time%   MyService restarted>>%log%
In der bat-Datei ist kein Fehler, denn wenn ich angemeldet bin, und die bat-Datei oder den Task (der die bat-Datei startet) manuell starte, funktioniert dies Wunderbar. In meiner log-Datei steht dann folgendes:
25.10.2009 12:35:41,81 Wait for MyService-Restart25.10.2009 12:40:59,71 Stop MyService25.10.2009 12:41:00,34 Start MyService25.10.2009 12:41:02,48 MyService restarted
Wenn aber niemand angemeldet ist (also bei der Ausführung beim Systemstart), funktoniert dies nicht, da schreibt er mir immer nur folgendes in meine log-Datei, weiter scheint er nicht zu kommen...
24.10.2009 7:30:56,60 Wait for MyService-Restart

Bei dem Task ist aber bei "Ausführen als..." der Administrator mit dem entsprechenden Passwort eingegeben.

Woran kann es liegen, dass der Restart des Dienstes nicht durchgeführt wird?

Schon vorab: Vielen Dank!

Gruß Stefan

Edit: evtl. Lösung: Batch-Script wird als Task nicht vollständig ausgeführt

Content-Key: 128359

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

Ausgedruckt am: 28.03.2024 um 15:03 Uhr

Mitglied: DerWoWusste
DerWoWusste 01.11.2009 um 14:15:01 Uhr
Goto Top
Überprüf doch mal über eine mmc mit dem Dienste snapin von remote aus, ob der Dienst gestoppt und neu angeworfen wird - evtl. versagt ja nur das Logging.
Mitglied: cMaster
cMaster 01.11.2009 um 16:35:10 Uhr
Goto Top
Hi DerWoWusste,

wenn ich mich am Server abmelde, und das ganze dann von einem anderen Betriebssystem aus beobachte, muss ich folgendes feststellen: Wenn ich in geplante Tasks den Task starte, steht ca. 5 Sekunden gestartet, dran, dann scheint er wieder beendet worden zu sein... Der Dienst wird weder beendet noch wieder gestartet... Der wartet nichtmal seine Wartezeit ab...

Weiß da jemand ne Lösung für dieses Problem?

Gruß Stefan
Mitglied: DerWoWusste
DerWoWusste 01.11.2009 um 16:38:07 Uhr
Goto Top
Fangen wir damit an, dass Du meine Rückfrage beantwortest face-smile
Mitglied: cMaster
cMaster 01.11.2009 um 17:08:45 Uhr
Goto Top
Wenn ich das von Remote beobachte, steht da in der mmc durchweg gestartet dran.
Mitglied: DerWoWusste
DerWoWusste 01.11.2009 um 17:20:34 Uhr
Goto Top
Das liegt daran, dass das Ding nicht von alleine aktualisiert.
Setz ein paar Wartezeiten in Dein Skript (wieder mit ping) und drück dann zum rechten Zeitpunkt F5 in der mmc.
Mitglied: cMaster
cMaster 01.11.2009 um 17:34:57 Uhr
Goto Top
das hab ich, ich hab nen 60er-Ping zwischen stop und start...
anschließend starte ich den Task dann von diesem anderen Rechner aus und beobachte das mmc (klicke immer und immer wieder auf Aktualisieren)...
  • wenn niemand angemeldet ist gibt es 2 Möglichkeiten: Mglk 1) es steht 5 sec. lang gestartet dran oder Mglk 2) es steht ziehmlich genau 60 sec lang gestartet dran (trotzdem kein Erfolg)
  • wenn ich als Administrator angemeldet bin: ich sehe die Konsole und alles funktioniert, dann sehe ich auch in der Remote-mmc, dass der Dienst gestoppt wird, und dann wieder gestartet wird.
Mitglied: DerWoWusste
DerWoWusste 01.11.2009 um 19:14:36 Uhr
Goto Top
Ein wenig mysteriös. Es darf normalerweise keinen Unterschied machen. Könnte es sein, dass Dein Dienst irgendetwas sichtbar ausführen will, also mit dem Desktop interagiert (Messages an Fenster schickt oder Ähnliches)?
Mitglied: cMaster
cMaster 01.11.2009 um 19:20:43 Uhr
Goto Top
Nein, eig. nicht. Siehst ja den Quelltext oben, mehr steht in der bat-Datei nicht drin....
Mitglied: DerWoWusste
DerWoWusste 01.11.2009 um 19:35:42 Uhr
Goto Top
Es geht um den Dienst, nicht um Dein Skript.
Mitglied: cMaster
cMaster 01.11.2009 um 21:26:57 Uhr
Goto Top
achso, oh, Entschuldigung...
Nein, bei dem Dienst handelt es sich um den hMailServer, der is des öfteren beim Systemstart zu schnell, versucht auf die DB zu zugreifen, obwohl der MySQL noch nicht vollständig gestartet ist und hat somit keinen Erfolg, versucht es aber später kein zweites Mal. Wenn ich den dann aber nen paar Min später nochmal neustarte, läuft alles Prima.
Und das ist eig. mein Ziel.
Mitglied: DerWoWusste
DerWoWusste 01.11.2009 um 22:22:11 Uhr
Goto Top
Beherrscht der Home Server bei den Diensten evtl. genau wie 2008 die Startart "Automatisch - verzögerter Start"?
Mitglied: cMaster
cMaster 01.11.2009 um 22:47:45 Uhr
Goto Top
Nein, leider nicht. Der HS baut aufm Kern vom Server 2003 auf...
Mitglied: DerWoWusste
DerWoWusste 01.11.2009 um 22:58:30 Uhr
Goto Top
Teste das Ganze nochmal mit einem unkritischen Systemdienst und mach kein dolles Skript sonder nur net start dienstname alle 20 Sekunden. Dann überwach wieder mit der Remote mmc und schalte den Dienst von dort aus ab und zu ab um zu sehen, ob er wieder angeworfen wird.
Mitglied: cMaster
cMaster 03.11.2009 um 00:46:28 Uhr
Goto Top
Hi,

ich habe das ganze jetzt mal folgendermaßen getestet:

Hab das mit dem Dienst "wuauserv" (Automatisches Update) getestet, weil der keinerlei Abhängigkeiten hat.

der Quellcode der bat-Datei:
net start wuauserv

ping localhost -n 60
net start wuauserv

ping localhost -n 60
net start wuauserv

ping localhost -n 60
net start wuauserv

ping localhost -n 60
net start wuauserv

  • wenn Administrator angemeldet ist, funktioniert alles wunderbar

  • wenn niemand angemeldet ist:
    • ich stoppe den Dienst
    • starte Task => 1. Befehl (Dienst-Start) wird ausgeführt => Dienst läuft wieder
    • erneutes stoppen des Dienstes (Task läuft noch)
    • Task wird/beendet sich => spätestens nach 55 sec, meistens frühestens nach ca. 35 sec => zum erneuten Start des Dienstes kommt es nicht mehr
    • wenn ich als ersten Befehl in das Script den Ping setze => Task wird beendet, bevor Wartezeit rum is
      • wenn ich allerdings eine Wartezeit von 20 sec an den Anfang setze, kann danach der Dienst noch gestartet werden, und dann wird der Task erst bei der 2. Wartezeit unterbrochen


Also für mich ist die ganze Sache höchst unverständlich und nicht nachvollzeihbar !?