none
Monitora serviço de outro servidor windows RRS feed

  • Pergunta

  • Bom dia galera!

    Cenário: tenho 2 servidores "A" e "B" com uma aplicação rodando em cada um deles, preciso de um vbs ou bat que faça o seguinte.

    Monitore se o serviço no servidor "A" está ativo, caso não ele iniciar o serviço no servidor "B".

    Isso porque os serviços não podem rodar simultaneamente.

    Pensei em fazer um script para um servidor ficar pingando o outro, quando um servidor cair ele automaticamente starta o serviço no servidor.

    quarta-feira, 14 de novembro de 2012 13:48

Respostas

  • Renan,

    Tente este .BAT

    @echo off
    
    :VERIFICA
    ::Pausa 2 segundos
    @choice /T 2 /C yn /D y > nul
    
    sc \\SERVIDOR_A query spooler | find /i "Running" > nul
    IF %errorlevel%==0 goto :VERIFICA
    
    echo spooler parou. Iniciando neste servidor
    @choice /T 5 /C yn /D y > nul
    sc start spooler


    Neste exemplo eu verifico o serviço do Spooler no servidor SERVIDOR_A, se o status dele não for Running então eu inicio o spooler no servidor onde está sendo executada a Batch.

    Achei melhor verificar o serviço ao invés do ping porque o ping vai verifcar se o servidor está ativo e não o serviço. Mas se quiser mudar não é muito dificil alterar.

    Observação: O script é executado uma única vez e entra em Loop, vc também pode tirar o loop e agendar uma tarefa no task scheduler, aí define o tempo de verificação pela tarefa.


    Fábio de Paula Junior


    quarta-feira, 14 de novembro de 2012 14:37
    Moderador
  • Resolvido! 

    Muito Obrigado!

    • Marcado como Resposta R3n4n_ quarta-feira, 28 de novembro de 2012 14:21
    quarta-feira, 28 de novembro de 2012 14:20

Todas as Respostas

  • Renan,

    Tente este .BAT

    @echo off
    
    :VERIFICA
    ::Pausa 2 segundos
    @choice /T 2 /C yn /D y > nul
    
    sc \\SERVIDOR_A query spooler | find /i "Running" > nul
    IF %errorlevel%==0 goto :VERIFICA
    
    echo spooler parou. Iniciando neste servidor
    @choice /T 5 /C yn /D y > nul
    sc start spooler


    Neste exemplo eu verifico o serviço do Spooler no servidor SERVIDOR_A, se o status dele não for Running então eu inicio o spooler no servidor onde está sendo executada a Batch.

    Achei melhor verificar o serviço ao invés do ping porque o ping vai verifcar se o servidor está ativo e não o serviço. Mas se quiser mudar não é muito dificil alterar.

    Observação: O script é executado uma única vez e entra em Loop, vc também pode tirar o loop e agendar uma tarefa no task scheduler, aí define o tempo de verificação pela tarefa.


    Fábio de Paula Junior


    quarta-feira, 14 de novembro de 2012 14:37
    Moderador
  • Resolvido?

    Fábio de Paula Junior

    segunda-feira, 19 de novembro de 2012 11:52
    Moderador
  • Resolvido! 

    Muito Obrigado!

    • Marcado como Resposta R3n4n_ quarta-feira, 28 de novembro de 2012 14:21
    quarta-feira, 28 de novembro de 2012 14:20