Author: cgr Language: text
Description: Not specified Timestamp: 2017-09-13 00:34:32 +0000
View raw paste Reply
BRS300753@BRS300753:~$ cat rst_cajeros.sh
#!/bin/bash
########################################
#Carlos M. Limon R.
#Sisbank
# Reinicio de cajeros prosa
########################################
#/usr/sicca/dat/bitacora/tcp998-r.MMDD
#/usr/sicca/dat/bitacora/tcp999-r.MMDD
#
##Variables
PIDFILE=/prosa.pid
LapsoMax=80 ; # segs [Lapso entre respuesta 800 desde PROSA]
TReinicio=240 ; # segs. [Tolerancia maxima para reinicio de SICCA]
linea="---------------------------------------------------------------------" ;
BitRoot="/opt/prosa-log/" ;
BitName="prosa-" ;
BitMMDD=`date +"%m%d"` ;
BitExt=".log" ;
Bitacora=$BitRoot$BitName$BitMMDD$BitExt ;
echo "BITACORA [$Bitacora]" ;
Ruta="/usr/sicca/dat/bitacora/" ;
P998="tcp998-r." ;
P999="tcp999-r." ;
MesDia=`date +"%m%d"` ;
Actual=`date +%s` ;
ciclo=0;
asesinaSicca_=0;
#
##fns
#
function monitor998()
{
if [ -f ${Ruta}${P998}${MesDia} ]; then
##Ultima modificacion de archivo en segundos
U998=`stat -c "%Y" $Ruta$P998$MesDia`;
#
##Leida desde log
#Tx998Fech=$(tail -n3 ${Ruta}${P998}${MesDia} | head -n1) ;
#Tx998Segs=$(date -d "${Tx998Fech}" +%s) ;
#let Lapso998=$Actual-$Tx998Segs ;
#
let Lapso998=$Actual-$U998 ;
#
if [ $Lapso998 -gt $LapsoMax ]; then
        echo "Lapso en 998 excedido por: $Lapso998 segundos" | tee -a $Bitacora ;
        echo "$(date +%H:%M:%S) Reiniciando comunicacion con 998" | tee -a $Bitacora ;
        /usr/sicca/bin/clirmgr localhost 998***70 &> /dev/null ;
        sleep 1
        ##Reinicio
        if [ $Lapso998 -gt $TReinicio ]; then
                ##Reiniciando servicios
                echo "Reiniciando Sicca por desconexion en cajero: 998" | tee -a $Bitacora ;
                #asesinaSicca ;
                #esp_asesina ;
                echo 998
                echo Lapso998
                #vivaSicca ;
                let asesinaSicca_=1;
                ##
                #ps -ef | grep "TCPPRO199" | grep -v grep > /dev/null ;
                #if [ $?==1 ]; then
                #       ##Reiniciando servicios
                #    echo "Reiniciando Sicca por desconexion en cajero: 998" | tee -a $Bitacora ;
                #       asesinaSicca ;
                #       esp_asesina ;
                #       vivaSicca ;
                #fi
        fi
fi
else
 exec echo "Conexion con cajero 998 no disponible" | tee -a $Bitacora ;
 #asesinaSicca ;
 #esp_asesina ;
 #vivaSicca ;
 let asesinaSicca_=1;
fi
}
#
function monitor999()
{
if [ -f ${Ruta}${P999}${MesDia} ]; then
#
##Ultima modificacion de archivo en segundos
U999=`stat -c "%Y" $Ruta$P999$MesDia`;
##Leida desde log
#Tx999Fech=$(tail -n3 ${Ruta}${P999}${MesDia} | head -n1) ;
#Tx999Segs=$(date -d "${Tx999Fech}" +%s) ;
#let Lapso999=$Actual-$Tx999Segs ;
#
let Lapso999=$Actual-$U999 ;
#
if [ $Lapso999 -gt $LapsoMax ]; then
        echo "Lapso en 999 excedido por: $Lapso999 segundos" | tee -a $Bitacora ;
    echo "$(date +%H:%M:%S) Reiniciando comunicacion con 999" | tee -a $Bitacora ;
        /usr/sicca/bin/clirmgr localhost 999***70 &> /dev/null ;
        sleep 1
        ##Reinicio
        if [ $Lapso999 -gt $TReinicio ]; then
                ##Reiniciando servicios
                echo "Reiniciando Sicca por desconexion en cajero: 999" | tee -a $Bitacora ;
                #asesinaSicca ;
            #esp_asesina ;     
                echo 999
                #vivaSicca ;
                asesinaSicca_=1;
                ##
            #ps -ef | grep TCPPRO199 | grep -v grep > /dev/null ;
                #if [ $?==1 ]; then
                #       ##Reiniciando servicios
                #       echo "Reiniciando Sicca por desconexion en cajero: 999";
                #       asesinaSicca ;
                #       esp_asesina ;
                #       vivaSicca ;
                #fi -ef | grep sicca | grep -v grep > /dev/null ;ps -ef | grep sicca | grep -v grep > /dev/null ;
        fi
fi
else
 echo "Conexion con cajero 999 no disponible" | tee -a $Bitacora ;
 #asesinaSicca ;
 #esp_asesina ;
 echo "999 conexion no disponible"
 #vivaSicca ;
 let asesinaSicca_=1;
fi
}
#
function monitorSicca()
{
        a=$(ps -ef | grep sicca | grep -v grep > /dev/null)
        let a=$?;
        echo "Status :$a";
        if [[ $a -eq 0 ]]; then
                echo OK
                echo "SICCA... OK" |  tee -a $Bitacora
        else
        echo "Verificando SICCA..." | tee -a $Bitacora ;
                vivaSicca
                sleep 1
                esp_viva
        fi
}
#
function rutalog()
{
        if [ ! -d $BitRoot ]; then
                mkdir $BitRoot ;
        fi
}
#
function separador ()
{
        echo $linea >> $Bitacora ;
}
#
function asesinaSicca()
{
        echo asesinando Sicca
        nohup /usr/sicca/bin/sicca_stoptsks &
}
#
function esp_viva()
{
                a=1;
                while [ $a == 1 ]; do
                 let ciclo=ciclo+1;
             ps -ef | grep "sicca_RACAL" | grep -v grep > /dev/null ;
                 let a=$?;
                 echo "esp_viva,a[$a]"
                 echo "cliclo:$ciclo"
                 echo "levantando sicca" >> /esp_viva
                done
                echo vive
}
#
function esp_asesina()
{
                #:'
                a=0;
                while [ $a == 0 ]; do
                 let ciclo=ciclo+1;
             ps -ef | grep "sicca" | grep -v grep > /dev/null ;
                 a=$?;
                 echo "esp_asesina,a[$a]"
                 echo "cliclo:$ciclo"
                 echo "deteniendo sicca" >> /esp_asesina
                done
                echo asesinado
                kill -9 $(ps -ef | grep sicca | grep -v grep | awk '{print $2}');
                #'
}
#
function vivaSicca()
{
        echo Encendiendo sicca
        /usr/sicca/bin/sicca_startup SCCFG & > /dev/null ;
}
#
##start
#
#let x=$(ps -ef | grep "/bin/bash /trabajos/rst_cajeros.sh" | grep -v grep | wc -l)
#let x=$? ;
#o_=$(cat /o);
#echo "Status :$x";
#if [[ $x -lt 2 ]]; then
touch /prosa.$((RANDOM%1000));
if [[ ! -f $PIDFILE ]]; then
        echo $$ > $PIDFILE ;
        if [ $? -eq 0 ]; then
        #echo "1" > /o ;
        #echo "$o_ procesando..." > /log

This paste is large and only partially shown.
View full paste

View raw paste Reply