miércoles, 6 de septiembre de 2017

Hacer Ping con fecha y hora y guardar un log

En algunas oportunidades deseamos guardar fecha y hora a un ping a un sitio web o a una dirección IP que estamos monitoreando, la forma más sencilla y económica es creando un archivo .bat de la siguiente forma:


@echo off

:bucle

set p1=.
set p2=.

ping -n 1 8.8.8.8 | find "Reply" > p1.txt
ping -n 1 8.8.8.8 | find "Request timed out" > p2.txt
set /p p1=< p1.txt
set /p p2=< p2.txt

echo %date% %time% %p1% %p2%
echo %date% %time% %p1% %p2% >> c:\log.txt

break >p1.txt
break >p2.txt

ping 127.0.0.1 -w 4000 -n 2 > NUL

GOTO bucle

pause


6 comentarios:

  1. Cuando se cambia la IP indica lo siguiente "No es posible encontrar el archivo solicitado"

    ResponderEliminar
    Respuestas
    1. A mi igual. ¿por qué? ¿?¿?¿?

      Eliminar
    2. Ya lo he visto. Es porque cuando hay una respuesta <1ms da error ya que no le da tiempo a realizar el script. La solución más fácil es cambiar las líneas de ping añadiendo -l 65500 de forma que el ping es más grande y da más de 1ms de tiempo de respuetas. es decir, quedaría:

      ping -l 65500 -n 1 8.8.8.8 | find "Reply" > p1.txt
      ping -l 65500 -n 1 8.8.8.8 | find "Request timed out" > p2.txt

      Eliminar
  2. A mi no me envia nada, no genera archivos txt

    ResponderEliminar
  3. el código por alguna razón no imprime la varible p1 y p2

    ResponderEliminar