[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Unir 2 scripts em 1
From: |
Luciano Bonifacio |
Subject: |
Unir 2 scripts em 1 |
Date: |
Wed, 10 Dec 2003 14:46:43 -0300 (ART) |
Amigos,
Em anexo, dois shell´s que tenho aqui, que foram
criados para monitorar os processos de CTI...
O primeiro deles (monitora_ts) apenas verifica se o
processo 'tssrv' esta com o mesmo PID. Caso nao esteja
igual, ou nao tenha ele vai copiar os logs para
analise posterior. Estavamos com problemas de queda
dessa aplicacao.
O segundo (email_ts) apenas verifica o tamanho do log.
Se for diferente, Ok, se for igual, significa que o
processo "congelou", nao esta gerando nenhum evento e
envia um email. Como o CallCenter aqui nao é 24hrs,
tem ainda uma condicao de horario, que é entre 08 e 22
hrs... Foi a maneira que acharam para descobrir o
momento que a aplicacao travava.
Entao, gostaria de criar um unico script, que
verificasse o PID e se este for diferente, enviar o
email.
Caso o PID esteja ok, ele seguisse, verificando o log.
E novamente, enviasse o e-mail se o log for do mesmo
tamanho.
Acho que da para fazer, mas ainda nao domino os "if",
"while"... E se puderem explicar a estrutura depois,
melhor.
Agradeco a ajuda.
[]´s,
Luciano
______________________________________________________________________
Yahoo! Mail: 6MB, anti-spam e antivírus gratuito! Crie sua conta agora:
http://mail.yahoo.com.br
----------
#!/usr/bin/sh
#
# Verifica se o processo TS "congelou" e envia um email avisando
#
TS_FILENAME=TSDefinity.log
MYLOG=/opt/quintus/tools/email.log
#obtem o tamanho do log do TS
FILESIZE=`ls -l /opt/quintus/qes56/logs/$TS_FILENAME | awk '{print $5}'`
#echo "tamanho atual do log = $FILESIZE"
FLAG=1
while [ 1 ]
do
sleep 300
HOUR=`date +%H`
if [ "$HOUR" = "08" ]
then
FLAG=1
fi
if [ "$HOUR" = "22" ]
then
FLAG=0
fi
if [ "$FLAG" = "1" ]
then
#obtem o novo tamanho do log
NEW_FILESIZE=`ls -l /opt/quintus/qes56/logs/$TS_FILENAME | awk
'{print $5}'`
#echo "tamanho do novo log = $NEW_FILESIZE"
if [ "$FILESIZE" = "$NEW_FILESIZE" ]
then
echo "`date` - Identificado que o TS congelou..." >> $MYLOG
mailx -s "Falha no Processo TS" address@hidden <
/opt/quintus/tools/mensagem
else
FILESIZE=$NEW_FILESIZE
#echo "FILESIZE agora eh: $FILESIZE"
fi
fi
done
----------
#!/usr/bin/sh
#
# Script para monitorar o TS
#
LOGDIR=/opt/quintus/tools
LOGFILE=$LOGDIR/monitora.log
TSLOGDIR=/opt/quintus/qes56/logs
# Obtem o PID do processo TS que esta rodando
PID=`ps -ef | grep tssrv | grep -v grep | awk '{print $2}' `
echo "$0: PID do TS = $PID" >> $LOGFILE
while [ 1 ]
do
sleep 10
# PIDNEW=`ps -ef | grep tssrv | grep -v grep | awk '{print $2}' `
PIDNEW=`ps -ef | grep 3d2e17f8000000000af1817823330002 | grep -v grep |
awk '{print $2}' `
if [ "x$PID" != "x$PIDNEW" ]
then
echo "`date` : O PID mudou! - novo PID = $PIDNEW" >> $LOGFILE
PID=$PIDNEW
echo "iniciando copia dos arquivos..." >> $LOGFILE
cp -p $TSLOGDIR/ORB.log $LOGDIR
cp -p $TSLOGDIR/TSDefinity.log $LOGDIR
echo "copia concluida. \n---------------- " >> $LOGFILE
fi
done
#
[As partes desta mensagem que não continham texto foram removidas]
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Unir 2 scripts em 1,
Luciano Bonifacio <=