Script que manda un correo de aviso en caso de fallar la conexión con un equipo
Hola,
en mi trabajo diario de sysadmin una de las tareas que suelo comprobar es si determinados equipos están en red. Para evitar el trabajo de estar comprobando manualmente cada equipo, programé un pequeño script bat que se ejecuta cada x tiempo en un servidor Windows 2003 y que hace un ping al equipo. Si el resultado del ping es la perdida de paquetes se envía un mail usando el programa SendEmail del ya os hablé hace tiempo. El script puede generar falsas alarmas si hay conexión pero se pierde algún paquete pero en mi caso lo prefiero así ya que me permite detectar problemas de red.
El script y el ejecutable del SendEmail tienen que estar en la misma carpeta (yo tengo una carpeta especifica para los scripts con los ejecutables que necesito para ellos). El script genera un fichero status.log con el resultado del ping y lo adjunta al correo en caso de enviarse el correo de aviso.
Para usar el script solo teneis que modificar los datos de correo y conexión por los vuestros. Necesitareis una copia del script por cada equipo que quereis comprobar.
Código fuente del script
@echo off Set Remote_IP=192.168.1.100 Set De=administrador@mail.com Set Para=usuario@mail.com Set SMTP=192.168.1.1 Set Asunto=Mensaje de aviso Set Texto=El equipo remoto no responde if exist status.log del status.log ping %Remote_IP% > status.log find /c /i "perdidos = 0" status.log if errorlevel= 1 goto com_fail goto end :com_fail sendEmail.exe -f %De% -t %Para% -u "%Asunto%" -m "%Texto%" -a status.log -s %SMTP% goto end :end
Comentarios recientes