Script bash: Verificar que los servicios se están ejecutando correctamente.
A titulo educacional vemos un script bash que verifica los siguientes servicios de un servidor web:
Al ejecutar el script se verificaran que los servicios se están ejecutando correctamente, si la respuesta obtenida es valida, el script nos indicara que el servicio funciona correctamente, en caso contrario imprimirá en pantalla que el servicio está detenido.
Puedes agregar al script todos los servicios que necesites conocer de tu servidor.
Verificar que los servicios se están ejecutando
Creamos el script.
nano verificar.sh
Copia y pega lo siguiente (agrega todos los servicios que quieras).
#!/bin/sh #by sololinux.es #Verificar estados del servidor web echo "********************************************" echo "------VERIFICAR SERVICIOS WEB------" echo "********************************************" sleep 1s; echo "Verificar el servicio HTTP" SERVICE='httpd' if ps ax | grep -v grep | grep $SERVICE > /dev/null then echo "--------------------------------------------" echo "El servicio $SERVICE se esta ejecutando" else echo "¡¡ OJO !! El servicio $SERVICE esta detenido" fi echo "********************************************" echo "********************************************" sleep 1s; echo "Verificar el servicio MYSQL" SERVICE2='mysqld' if ps ax | grep -v grep | grep $SERVICE2 > /dev/null then echo "--------------------------------------------" echo "El servicio $SERVICE2 se esta ejecutando" else echo "¡¡ OJO !! El servicio $SERVICE2 esta detenido" fi echo "********************************************" echo "********************************************" sleep 1s; echo "Comprobando servicio de CORREO" SERVICE3='postfix' if ps ax | grep -v grep | grep $SERVICE3 > /dev/null then echo "--------------------------------------------" echo "El servicio $SERVICE3 se esta ejecutando" else echo "¡¡ OJO !! El servicio $SERVICE3 esta detenido" fi echo "********************************************" echo "********************************************"
Ahora guarda el archivo y cierra el editor.
Ejecutamos el script bash
Lo podemos ejecutar con el siguiente comando:
bash verificar.sh
Si prefieres puedes concederle permisos para no tener que ejecutarlo como root.
chmod u+x verificar.sh
Lo ejecutamos…
./verificar.sh
ejemplo de salida correcta…
Este script que acabamos de ver es bastante simple, pero sus posibilidades son infinitas. Puedes revisar la sección «SCRIPTS» de sololinux para poder agregar complementos de código o más funciones al script que vemos en este articulo.
En Sololinux.es seguimos creciendo gracias a nuestros lectores, puedes colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.
El mismo código pero más simplificado, utilizando ciclos.
#!/bin/sh
#by sololinux.es and jacquex
#Verificar estados del servidor web
servicios=(httpd mysqld postfix)
echo "********************************************"
echo "------VERIFICAR SERVICIOS------"
echo "********************************************"
for (( i = 0 ; i < ${#servicios[@]} ; i++ )); do
sleep 1s; echo "Verificar el servicio: ${servicios[$i]}"
if ps ax | grep -v grep | grep ${servicios[$i]} > /dev/null
then
echo "--------------------------------------------"
echo "El servicio ${servicios[$i]} se esta ejecutando"
else
echo "¡¡ OJO !! El servicio ${servicios[$i]} esta detenido"
fi
echo "********************************************"
echo "********************************************"
done