Si tiene un servidor separado para ejecutar su secuencia de comandos de verificación, algo como esto haría una simple prueba de Ping para ver si el servidor está vivo:
#!/bin/bash
SERVERIP=192.168.2.3
[email protected]
ping -c 3 $SERVERIP > /dev/null 2>&1
if [ $? -ne 0 ]
then
# Use your favorite mailer here:
mailx -s "Server $SERVERIP is down" -t "$NOTIFYEMAIL" < /dev/null
fi
Puede cron la secuencia de comandos para ejecutar periódicamente.
Si no tiene mailx, deberá reemplazar esa línea con cualquier programa de correo electrónico de línea de comando que tenga y probablemente cambiar las opciones. Si su proveedor proporciona una dirección de correo electrónico SMS, puede enviar el correo electrónico a esa dirección. Por ejemplo, con AT&T, si envía un correo electrónico a phonenumber @ txt.att.net, enviará el correo electrónico a su teléfono.
Aquí hay una lista de puertas de enlace de correo electrónico a SMS:
http://en.wikipedia.org/wiki/List_of_SMS_gateways
Si su servidor es un servidor web de acceso público, hay algunos servicios gratuitos para monitorear su sitio web y alertarlo si está caído, busque en la web monitoreo gratuito del sitio web para encontrar algunos.
Hacer ping es una opción, pero en muchas ocasiones una máquina podrá enviar una respuesta de ping, mientras que el servidor real del que se trata está inactivo. Es mejor hacer una prueba de punta a punta. En el siguiente ejemplo, se solicita una página del servidor web.
Si es un servidor web, se vería así:
Si cambia el documento html a un documento php y hace que el script de php pruebe cosas como la conexión de la base de datos, los sistemas de archivos, etc., incluso puede probar más aspectos del servidor. De esa manera, puede comenzar la supervisión proactiva de la máquina (vea los problemas antes de que se bloquee el servidor).
Similar a verificar un servidor de correo, pero en lugar de solicitar una página web, simplemente envíe un correo electrónico a través del servidor de correo y vea si lo recibe en su buzón
fuente
Así es como resolví el mismo problema
fuente
/usr/bin/mail -s "$SERVER went down" "$SENDEREMAIL" "$SMSEMAIL"
.Recomiendo encarecidamente usar Nagios , es una infraestructura para monitorear y alertar sobre cualquier servicio que desee (hay muchos complementos disponibles y puede escribir el suyo). Por supuesto, puede hacer pings simples para verificar la disponibilidad de los servidores, pero como otros han señalado, es mejor verificar la disponibilidad de servicios (por ejemplo, web, correo electrónico, etc.) en su lugar (que Nagios puede hacer fácilmente).
fuente