En este script se monitorea que el uso de memoria de un servicio en particular no sobrepase los 200 MB. De ser asi el servicio es reiniciado. Se guarda log de las acciones realizadas.-
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 |
#!/bin/ksh PATH=/usr/bin:/usr/ccb:/etc:/sist_bin:/usr11/home/con/bin:. export PATH # -------------------------COMIENZA FUNCION--------------------------------- ejecuta(){ cat $ servidores | while read line;do ser=$line ejecuta="$COMANDO $ser ccinvtt " hora=`date +%H:%M` $ejecuta > $salida memoria=`awk '$6>1 {suma+=$6}END {print suma}' < $salida` servici=`awk '$6>1 {copias+=1}END {print copias}' < $salida` individ=`expr $memoria / $servici` if [ ${memoria} -gt 200000 ] then echo $ser $fecha $hora $servici $memoria $individ >> $log1 $COMANDO $ser ccinvtt start 1> /dev/null 2> /dev/null fi done } #--------------------------FIN FUNCION---------------------------------------- fecha=`date +%d%m%Y` servidores="/usr11/home/contab/logs/servidores.txt" salida="/usr11/home/contab/logs/salida" log1="/usr11/home/contab/logs/rei_servicios.log" COMANDO="starup star_servicio" ejecuta |