Author: cgr Language: text
Description: Not specified Timestamp: 2017-08-17 21:27:44 +0000
View raw paste Reply
linux:/trabajos # 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
LapsoMax=60 ; # segs [Lapso entre respuesta 800 desde PROSA]
TReinicio=180 ; # 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;
#
##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 ;
                sleep 3 ;
                esp_asesina ;
                echo 998
                vivaSicca ;
                ##
                #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 ;
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 ;
                sleep 3 ;
            esp_asesina ;      
                echo 999
                vivaSicca ;
                ##
            #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
        fi
fi
else
 echo "Conexion con cajero 999 no disponible" | tee -a $Bitacora ;
 asesinaSicca ;
 esp_asesina ;
 vivaSicca ;
fi
}
#
function monitorSicca()
{
        ps -ef | grep sicca | grep -v grep > /dev/null ;
        let a=$?;
        echo "Status :$a";
        if [ $a==1 ]; then
        echo "Verificando SICCA..." | tee -a $Bitacora ;
                vivaSicca ;
                sleep 1
                esp_viva ;
        else
        echo "SICCA... OK" | tee -a $Bitacora ;
        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 "a[$a]"
                 echo "cliclo:$ciclo"
                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 "a[$a]"
                 echo "cliclo:$ciclo"
                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
#
rutalog
monitorSicca ;
monitor998 ;
monitor999 ;
separador ;
#
#EOF!
View raw paste Reply