Maneira simples de reiniciar processos travados no servidor em 3 tentativas se exceder a necessidade de pular o script?

Maneira simples de reiniciar processos travados no servidor em 3 tentativas se exceder a necessidade de pular o script?

Eu tenho um nome de arquivo hello.sh. Estou executando esse arquivo a cada 30 minutos no crontab.

Em hello.sh, tenho um script para verificar se o serviço está em execução ou não. se não estiver em execução, ele enviará um e-mail e reiniciará o serviço.

Olá.sh Script:

b=$JAVA_HOME/bin/jps| grep "Bootstrap" | awk '{print $2}' if [ "$b" = "LISTEN" ]; then echo "Bootstrap is running" elif [ "$b" == "" ]; then mail -s "Message from 33 Server, The service is not running its going to restart the server " [email protected] sudo catalina.sh run

Está funcionando perfeitamente. Agora, estou executando este programa uma vez a cada 30 minutos. Se o serviço não estiver em execução, ele tentará reiniciá-lo. Agora, preciso verificar este script 3 vezes se não for reiniciado o serviço após 1h30, então preciso pular o processo de verificação e enviar um e-mail como "Este serviço não está funcionando, preciso iniciar manualmente". utill service start manualmente, ele não deve executar o script. Depois de iniciar o serviço manualmente, é necessário verificar o serviço no crontab a cada meia hora, uma vez.

Se for possível como fazer?

informação relacionada