KSH – Script korn shell para reinicio de servicios.-

#!/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
Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *