LINUX

Shell Script para verificar el ping al host remoto y al puerto abierto

más scripts de shell
Este script de shell le permite realizar un ping a un host remoto y verificar si el puerto mencionado está abierto en ese servidor.

Esto ayuda al administrador del sistema a realizar la prueba de ping y también a asegurarse de que exista algún problema con puertos específicos.

Script de shell de ping

#!/bin/bash

if [ "$#" = "0" ];
then
echo "Usage: $0 "
exit 1
fi

host=$1
port=$2
email="test@linoxide.com"
subject="Script result"

if ping -q -c 4 $host >/dev/null
then

ping_result="OK"
else
ping_result="NOT OK"

fi

nc_result=`nc -z $host $port; echo $?`

if [ $nc_result != 0 ];
then
port_result="not opened"
else
port_result="opened"
fi

message="Ping to host - ${ping_result}, port $port ${port_result}."

if [ "$ping_result" != "OK" -o "$nc_result" != "0" ];
then
echo "$message"

echo "$message" | mail -s "$subject" $email

fi

Salida de secuencia de comandos

Haga ping a localhost y compruebe si el puerto 22 está abierto (servidor ssh)

bobbin@linoxide:/$ ./script 127.0.0.1 22
Ping to host - OK, port 22 not opened.
desktop:~/$

Entendiendo el script de ping

#Compruebe si el nombre del servicio pasó al script como argumento, si no hay argumentos (0), haga lo siguiente

si [ «$#» = «0» ];

entonces

#Escribir en el uso de la terminal

echo «Uso: $ 0»

# Dado que no hay argumentos, tenemos que salir del script y volver a ejecutar el usuario

salida 1
fi

#Escribir parámetros en variables

anfitrión = $ 1
puerto = $ 2
email = «test@linoxide.com»
asunto = «Resultado de la secuencia de comandos»

#Compruebe si ping ok -q a bastante mod, -c 4 para 4 comprobaciones

si ping -q -c 4 $ host> / dev / null
entonces

#Líneas siguientes escribe la variable de resultado

ping_result = «OK»
demás
ping_result = «NO ACEPTABLE»

fi

# Siguiente comando verificar si el puerto se abrió a través del comando nc y obtener el estado de salida del comando nc

nc_result = `nc -z $ host $ puerto; echo $?

# Verifique el estado de salida del comando nc y escriba los resultados en las variables

si [ $nc_result != 0 ];
entonces
port_result = «no abierto»
demás
port_result = «abierto»
fi

# Escribir mensaje que el script enviará por correo electrónico y escribirá en la salida

message = «Hacer ping al host – $ {ping_result}, puerto $ port $ {port_result}».

#A continuación, verifique si el ping o la verificación del puerto fallaron (haga ping si no está bien y salga del estado de nc si no es 0)

si [ «$ping_result» != «OK» -o «$nc_result» != «0» ];
entonces
echo «$ mensaje» # esta línea escribe un mensaje de advertencia en la terminal

echo «$ mensaje» | mail -s «$ asunto» $ correo electrónico # esta línea enviar correo electrónico

fi

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar