1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
#!/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 |