Usuário com melhor resposta
Executar comandos apos um serviço parar

Pergunta
-
Sr.s
Gostaria de ajuda para criar um .bat que faz a seguinte tarefa:
Envia um comando de Stop para um determinado serviço
Fica em loop chegando o status desse serviço ate ele entrar no estado de Stop
Apos entrar em Stop, executa outros comandos q ja tenho feito.
Tenho um serviço q preciso parar antes de executar um backup, porem a base dele é tão grande q demora para parar o serviço, por isso a necessidade da .bat chegar se realmente o serviço esta no estado de Stop antes de continuar com os outros comandos.
Obrigado.
Respostas
-
Consegui fazer um loop que me atendeu, segue para documentação.
:loop
sc query "Lotus Domino Server (FIBMLotusDominodata)" | find /i "STATE : 3 STOP_PENDING"
IF %errorlevel% EQU 0 (
Echo "Servico Domino UP"
Echo "Aguardando 10s para recehgar servico"
ping 127.0.0.1 -n 10 > c:\temp\null
GOTO loop
) ELSE (
Echo "Servico Domino Down"
diskshadow /s C:\Bacula\create_part_shadow.dsh
ping 127.0.0.1 > c:\temp\null
)- Marcado como Resposta Jeferson Danine terça-feira, 27 de outubro de 2015 13:56
Todas as Respostas
-
So para adiantar, ja usei o Net Stop porem o serviço demora tanto para parar q o Net Stop da um erro pois excede o tempo maximo permitido para o serviço parar, mas depois de um tempo ele para normalmente. Como o Net Stop da um erro, e .bat continua executando o script fazendo com q o backup seja executado sem a parada total do serviço.
-
Consegui fazer um loop que me atendeu, segue para documentação.
:loop
sc query "Lotus Domino Server (FIBMLotusDominodata)" | find /i "STATE : 3 STOP_PENDING"
IF %errorlevel% EQU 0 (
Echo "Servico Domino UP"
Echo "Aguardando 10s para recehgar servico"
ping 127.0.0.1 -n 10 > c:\temp\null
GOTO loop
) ELSE (
Echo "Servico Domino Down"
diskshadow /s C:\Bacula\create_part_shadow.dsh
ping 127.0.0.1 > c:\temp\null
)- Marcado como Resposta Jeferson Danine terça-feira, 27 de outubro de 2015 13:56