shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Falha ao executar script shell no crontab


From: thaigof
Subject: Falha ao executar script shell no crontab
Date: Fri, 05 Apr 2013 01:43:54 -0000
User-agent: eGroups-EW/0.82

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]