[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Falha ao executar script shell no crontab
From: |
miranda |
Subject: |
Re: [shell-script] Falha ao executar script shell no crontab |
Date: |
Fri, 05 Apr 2013 14:02:22 -0300 |
which jps
which jstat
On Fri, 2013-04-05 at 01:43 +0000, thaigof wrote:
>
>
> Boa noite a todos da lista...,
>
> Existe um caso que está ocorrendo comigo ha 3 dias! O que ocorre é o
> seguine: Existe um site que algumas vezes por dia ele trava devido ao
> estouro de cache devido a coleta que não é feita pelo robô garbage
> collector... Então manualmente o tomcat tem de ser reiniciado para que
> a "página" volte a funcionar corretamente... Tendo isso em vista criei
> um script shell que executa a cada 1 minuto colhendo o PID do processo
> tomcat, a porcentagem do cache, que é comparada com uma variável de
> valor de "100.00" e, se o valor for o mesmo ele mata o processo tomcat
> e o reinicia automáticamente... E é aí que está o meu problema! Se eu
> executo esse script manualmente ele funfa belezinha, mas quando é
> executado pela CRON ele não executa o script "startup.sh"
>
> Segue o script:
>
> *******************************
>
> # Variavel com valor PID bootstrap
> PID=`jps |grep -i bootstrap | awk '{print $1}'`
> # Variavel com valor do estado do garbage collector do processo
> bootstrap.
> STATE=`jstat -gcutil $PID | awk '{print $3}'| sed 'N;s/\n//;s/E//'`
> # Variavel de 100% para comparacao de garbage collector 'estourado'.
> EST=100.00
> # Variavel com caminho para arquivo de log
> LOG=/opt/killgcollector.log
>
> if [ "$STATE" == "$EST" ];
> then
> # Matando processo bootstrap
> kill -9 $PID
> # Inserindo data, hora para identificacao de tempo do restart do
> daemon
> echo "=====================================" >> $LOG
> date +%c >> $LOG
> echo "Reiniciando Aplicacao:" >> $LOG
> # Reiniciando daemon
> cd /opt/tomcat/apache-tomcat-6.0.16/bin/
> startup.sh 1>> $LOG 2> /dev/null
> fi
> exit $?
>
> ***********************
>
> Segue o cabeçalho da crotab e linha que executa o script:
>
> SHELL=/bin/bash
> PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt
> MAILTO=root
> HOME=/
>
> */1 * * * * root killgcollector.sh
>
> ****************************
>
> Acredito que esse "erro" deve ser fácil de resolver .... mas ainda não
> descobri a razão!
>
> Alguém pode me dar uma ideia do que está acontecendo ?
>
> Obrigado
>
>
>
>
>
[As partes desta mensagem que não continham texto foram removidas]