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:

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
 * 1) !/bin/bash

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)