Grupo Linuxero del Bajío

Procesos

julinuxhack

Buen día chavales, hace un tiempo después de renunciar a la empresa en la que laboraba, me pidieron que si les hacia el favor de crearles un script para enviar correos de alerta cuando un proceso se detuviera, les mande el siguiente:

#!/bin/bash#SACAMOS CUANTAS VECES ESTA CORRIENDO EL PROCESO, SI ES CERO O UNO (DEPENDE DE LA DISTRO)while true; do#SACAMOS CUANTAS VECES ESTA CORRIENDO EL PROCESO, SI ES CERO O UNO (DEPENDE DE LA DISTRO)#checate cuando estan detenidos cual es el numero de proceso quete aparece y sustituyelo del 1 que le tengoipcmdrd1=`ps -ef | grep -i proceso | wc -l`tftpcmdrd1=`ps -ef | grep -i proceso2 | wc -l`mpscmdrd1=`ps -ef | grep -i proceso3 | wc -l`dnscmdrd=`ps -ef | grep -i proceso4 | wc -l`if [ $ipcmdrd1 = 1 ]   thensendemail -f correoorigen -t correodestino -s smtp.gmail.com:587  -xu correousuario -xp contraseña -u “prueba” -m “Proceso primero esta caido proceso, saludos! ” -v#si quieres enviar archivo adjunto:#$ sendEmail -f remite@gmail.com -t fulanito@midominio.net -s servidor_smtp -u “Asunto email” -m “proceso segundo esta caido , saludos! ” -a fichero.zip -v beep -f 349;sleep 10#si quieres que se reinicien los procesos en orden (no recuerdo el orden del comienzo) es:/etc/init.d/proceso stop/etc/init.d/proceso1 stop/etc/init.d/proceso2 stop/etc/init.d/proceso3 stop/etc/init.d/proceso start/etc/init.d/proceso2 start/etc/init.d/proceso3 startfi#sleep es el tiempo que tardara en regresar a realizar el chequeosleep 10done

Como son 4 procesos, se repite 4 veces el mismo proceso 1 para cada uno, los 4 procesos eran dependientes, así es que cuando se colapsaba 1 se tenían que detener los 3 y estarse poniendo en funcionamiento de uno por uno, cuando detecta el proceso caído manda el correo de alerta detiene los procesos y los inicia en orden como debe de funcionar.

También se pueden adjuntar los logs, se los dejo para los que les pueda servir, después les colocare otro script de respaldo de archivos en red de forma automática.