Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Framework - Linha Datasul - TEC - Script para gerenciamento do serviço Tomcat no Linux

time.png Tempo aproximado para leitura: 00:04:40 min

Dúvida
Como posso unificar em um script os comandos para iniciar, parar e verificar status do serviço Tomcat no Linux?

Ambiente
Framework - Framework (Linha Datasul) - Tomcat – Todas as versões

Solução
A utilização deste script simplifica o gerenciamento do serviço, utilizando sempre o mesmo comando para executar algumas ações no serviço do Tomcat.

Para este exemplo, teremos as opções de iniciar, parar, reiniciar e verificar o status do serviço.

Pode ser criado um script para cada ambiente, como por exemplo um para o ambiente de produção e outro para o de testes.

Este script é somente um facilitador, o serviço Tomcat precisa estar operacional no servidor com seus scripts padrões.

Neste exemplo criamos na pasta do Tomcat um arquivo com nome tomcat-ofi.
Deverá possuir o seguinte conteúdo:

#!/bin/bash
SVCNAME=Tomcat-Oficial
TOMCAT_HOME=/totvs/apache-tomcat-9.0.37-oficial

TSTART=$TOMCAT_HOME/bin/startup.sh
TSTOP=$TOMCAT_HOME/bin/shutdown.sh

start() {
a=`ps -ef |grep java | grep -m 1 "$TOMCAT_HOME" | awk '{ print $15 }'`
if [ -n "$a" ]; then
echo -e " \033[1;32m $SVCNAME ativo \033[0m"
else
echo -n "Iniciando $SVCNAME: "
cd $TOMCAT_HOME
${TSTART}
echo "done."
fi
}

stop() {
STATE=0
STATE=`ps -ef |grep java|grep $TOMCAT_HOME|wc -l`
if [ "$STATE" -ge "1" ] ; then
echo -n "Parando $SVCNAME: "
cd $TOMCAT_HOME
${TSTOP}
sleep 5
a=`ps -ef |grep java | grep -m 1 "$TOMCAT_HOME" | awk '{ print $2 }'`
`kill -9 "$a"`
echo -e " \033[1;31m kill PID $a \033[0m"
fi
}

status(){
STATE=0
STATE=`ps -ef |grep java|grep $TOMCAT_HOME|wc -l`
echo -e "Servico : \033[1;29m $SVCNAME \033[0m"
if [ "$STATE" -ge "1" ] ; then
echo -e "STATUS: \033[1;32m Ativo \033[0m"
else
echo -e "STATUS: \033[1;31m Inativo \033[0m"
fi
a=`ps -ef |grep java | grep -m 3 "$TOMCAT_HOME" | awk '{ print $2 }'`
echo -e "PID: \033[1;31m $a \033[0m"
}

case "$1" in
start)
start
;;

stop)
stop
;;

restart)
stop
sleep 3
start
;;

status)
status
;;

*)

echo "Informe um dos Parametros: {start|stop|restart|status}"
esac

Informe na variável SVCNAME um nome de exibição para o serviço e na variável TOMCAT_HOME o caminho para a pasta base do Tomcat do ambiente utilizado, como no exemplo:

SVCNAME=Tomcat-Oficial
TOMCAT_HOME=/totvs/apache-tomcat-9.0.37-oficial

O script precisará de permissão de leitura e execução no Linux. Para configurar uma permissão de leitura, escrita e execução para o dono do arquivo e somente leitura e execução para os demais, utilize o comando:

chmod 755 tomcat-ofi

Este script recebe os seguintes parâmetros:
start: Para iniciar o serviço;
stop: Para parar o serviço;
restart: Para reiniciar o serviço;
status: Para verificar se o serviço está ativo ou não.

Execute o script informando o parâmetro que deseja, como por exemplo, para iniciar o Tomcat:
/totvs/apache-tomcat-9.0.37-oficial/tomcat-ofi start

Para facilitar sua execução, adicione a pasta do Tomcat na variável PATH do Linux. Também pode ser criado um link simbólico em alguma pasta que já esteja no PATH, apontando para o script criado, ou copie o script para esta pasta. Exemplo para criar um link simbólico:

ln -s /totvs/apache-tomcat-9.0.37-oficial/tomcat-ofi /usr/bin/tomcat-ofi

Com isto, não é necessário informar mais a pasta onde está localizado o script, executando diretamente o comando:

tomcat-ofi start

Este é um exemplo de script e pode variar em certas distribuições do Linux, ajuste conforme sua necessidade.  Em algumas distribuições, pode-se copiar ou criar link simbólico na pasta /etc/init.d, sendo possível utilizar o comando service.

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _