Tomcat:Script que checa se o Tomcat está no Ar
Neste artigo mostramos como criar um script que verifica se o tomcat está em funcionamento, e caso ocorra algum problema ele inicia novamente o Tomcat. Com pouca alteração pode servir para outros funcionalidades
Pra começo de conversa, não recomendo esta solução para ninguém pois se o seu Tomcat teve um crash, o verdadeiro problema deve ser analisado.
O script irá rodar a cada 1 minuto verificando se o tomcat está no ar.
Criando o Script
Crie um script no local /usr/local/bin/check-apache-tomcat.sh, com o seguinte conteúdo:
#!/bin/bash PID_ATUAL=`ps -efw | grep apache-tomcat | grep -v "check" | grep -v "grep" | awk '{ print $2 }'` if [ -n "$PID_ATUAL" ]; then echo "$(date) Apache Tomcat: OK ($PID_ATUAL) " else echo "$(date) Apache Tomcat: RESTARTING" /opt/apache-tomcat-6.0.16/bin/startup.sh fi exit 0
Atenção ao local onde está o script de startup do Tomcat.
Mude a permissão para
> chmod a+rx /usr/local/bin/check-apache-tomcat.sh
Adicionando no Crontab
Agora iremos fazer com que o script seja executada a cada minuto, utilizando a cron do Linux
Adicionei no crontab
> crontab -e
a seguinte linha
* * * * * /usr/local/bin/check-apache-tomcat.sh >> /var/log/check-apache-tomcat.log 2>&1
Salve e feche a crontab.
Verificando
O script irá gerar um log da seguinte forma
>tail /var/log/check-apache-tomcat.log Thu Feb 12 10:31:01 BRST 2009 Apache Tomcat: OK (3719) Thu Feb 12 10:32:01 BRST 2009 Apache Tomcat: OK (3719) Thu Feb 12 10:33:01 BRST 2009 Apache Tomcat: OK (3719) Thu Feb 12 10:34:01 BRST 2009 Apache Tomcat: OK (3719) Thu Feb 12 10:35:01 BRST 2009 Apache Tomcat: RESTARTING Thu Feb 12 10:36:01 BRST 2009 Apache Tomcat: OK (5820) Thu Feb 12 10:37:01 BRST 2009 Apache Tomcat: OK (5820) Thu Feb 12 10:38:01 BRST 2009 Apache Tomcat: OK (5820) Thu Feb 12 10:39:01 BRST 2009 Apache Tomcat: OK (5820)