#!/bin/ksh
esp="\\n "
echo "\\n"
opcion=0
fech=`date +%Y%m%d`
fecha=`date +%d%m%Y`
servers="/usr01/logs/servers.txt"
logs="/usr01/logs/server$fecha.log"
COMANDO="lanzador reinicia_servs"
until test $opcion = 99
do
clear
date '+%n Fecha : %d/%m/%Y Hora : %H:%M Hrs.'
echo "
+---------------------------------------------+
| REINICIA SERVICIOS AUTOMATICAMENTE |
+---------------------------------------------+
23-03-2015 V.2 reiniserv.sh
"
read -p " Instancia : " mot
if [ ! "$mot" ]
then break
fi
echo ""
motor="$mot;"
read -p " Servicios (Separados por espacio) : " servi
servicio=(`echo ${servi}`)
conser=${#servicio[*]}
servidor=(`cat $servers | grep $motor | tr ';' ' '`)
conmot=${#servidor[*]}
echo " "
echo "Servicios del motor $mot se reiniciaran en los siguientes servidores"
echo "-----------------------------------------------------------------------------"
k=1
while [ $k -lt $conmot ]
do
if [ "${servidor[$k]}" -eq 0 ]
then
(( k=k+1 ))
continue
fi
ser=urano${servidor[$k]}
(( k=k+1 ))
echo -en $ser; echo -en " ";
done
echo ""
echo "-----------------------------------------------------------------------------"
echo ""
read -p " Para Ejecutar digite tal como aparece Mayuscula y minuscula [Si] : " opcion
echo ""
echo "-----------------------------------------------------------------------------"
if [ ! "$opcion" ]
then break
fi
case $opcion in
Si)
j=0
while [ $j -lt $conser ]
do
k=1
while [ $k -lt $conmot ]
do
if [ "${servidor[$k]}" -eq 0 ]
then
(( k=k+1 ))
continue
fi
ser=urano${servidor[$k]}
sse=${servicio[$j]}
ejecuta="$COMANDO $ser $sse restart $mot"
echo "Reiniciando ===>> $ejecuta"
$ejecuta
echo "5,$ser,$mot,$fech,`date +%H:%M:%S`,$sse,0" >> $logs
(( k=k+1 ))
done
(( j=j+1 ))
done
echo "--------------------------- FIN REINICIO -------------------------------"
read fin
echo "";;
*)
echo "";;
esac
done