Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 4 van 4

Onderwerp: Batch controle op service

  • Vraag is opgelost
  1. #1
    Senior Member
    Geregistreerd
    15 januari 2008
    Locatie
    Stadskanaal
    Afstand tot server
    ±126 km

    Batch controle op service

    Hoi allemaal,

    Ik zit weer eens met een uitdaging:

    Ik wil graag via een batch bestand een controle op een service uitvoeren. Dus als een bepaalde service (bijvoorbeeld mysql) gestart is, dat hij dan verder gaat met het uitvoeren van het script, en als hij gestopt is, dat hij dan de bewuste service start.

    Ik heb al dit:
    sc query mysql |find /c /i "RUNNING"
    Hier krijg ik een 1 of een 0 uit, 1 voor running en 0 voor stopt

    Maar hoe kan ik nu iets met die 1 of 0 doen? Iets met If Exist of iets dergelijks?

    Alvast bedankt!

  2. #2
    Mega Honourable Senior Member Ellasar's avatar
    Geregistreerd
    10 oktober 2000
    Locatie
    Zwolle
    Afstand tot server
    ±32 km
    Heb je een specifieke reden om daar batch scripting voor te gebruiken?
    vbs heeft op een windows machine net wat meer mogelijkheden omdat je de hele wmi ook kan gebruiken (powershell is nog beter maar is niet altijd even makkelijk)

    als je het met batch moet doen zul je met errorlevels kunnen werken.

    Code:
    @ECHO OFF
    sc query mysql |find /c /i "RUNNING"
    IF ERRORLEVEL 1 GOTO ServiceRuns
    
    REM start service
    net start mysql
    
    
    REM Loop tot de service gestart is met een pause van 5 seconden
    :Wait
      PING -n 6 127.0.0.1>nul
      VERIFY >nul
      sc query mysql |find /c /i "RUNNING"
      IF ERRORLEVEL 1 GOTO ServiceRuns
    GOTO Wait
    
    :ServiceRuns
    REM rest van de code
    Laatst aangepast door Ellasar : 16 mei 2012 om 13:27

  3. #3
    Senior Member
    Geregistreerd
    15 januari 2008
    Locatie
    Stadskanaal
    Afstand tot server
    ±126 km
    Bedankt Ellasar!

    Ik heb uiteindelijk dit gebruikt:

    FOR /F "tokens=1,2,3,4" %%A IN ('SC.EXE \\server QUERY VMtools ^| FIND /I "STATE"') DO SET STATE=%%D
    IF /I "%STATE%"=="RUNNING" GOTO BACKUP

  4. #4
    Mega Honourable Senior Member Ellasar's avatar
    Geregistreerd
    10 oktober 2000
    Locatie
    Zwolle
    Afstand tot server
    ±32 km
    Voorbeeld van dat spreekwoord met wegen en rome enzo....
    Mooi dat het lukt

Berichtenregels

  • U mag geen nieuwe discussies starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • Umag niet uw berichten bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren
Linkpartners
Aanbiedingen