ping

( redes )

Hacer Ping con fecha y hora

En algunas ocasiones (sobre todo para monitorización y/o solución de problemas) nos puede interesar hacer un ping y que nos guarde la fecha y hora del mismo como referencia.

# ping 8.8.8.8 | perl -MPOSIX -nle 'BEGIN {$|++} print strftime ("%F %T", localtime)." - ".$_'
2016-01-31 19:45:39 - PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
2016-01-31 19:45:39 - 64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=1.21 ms
2016-01-31 19:45:40 - 64 bytes from 8.8.8.8: icmp_seq=2 ttl=55 time=1.15 ms
2016-01-31 19:45:41 - 64 bytes from 8.8.8.8: icmp_seq=3 ttl=55 time=1.19 ms
2016-01-31 19:45:42 - 64 bytes from 8.8.8.8: icmp_seq=4 ttl=55 time=1.16 ms
# ping 8.8.8.8 | while read pong; do echo "$(date '+%Y-%m-%d %H:%M:%S'): $pong"; done
2016-01-31 19:46:30: PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
2016-01-31 19:46:30: 64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=1.19 ms
2016-01-31 19:46:31: 64 bytes from 8.8.8.8: icmp_seq=2 ttl=55 time=1.16 ms
2016-01-31 19:46:32: 64 bytes from 8.8.8.8: icmp_seq=3 ttl=55 time=1.19 ms
2016-01-31 19:46:33: 64 bytes from 8.8.8.8: icmp_seq=4 ttl=55 time=1.21 ms
También podemos crear una función (y guardarla en el profile) para poder usarlo más cómodamente:
# Hace un ping con fecha y hora (Y-M-D H:M:S)
dping () {
   # contiene parametro ?
   if [ "$1" ]
   then
     ping $1 | while read pong; do echo "$(date '+%Y-%m-%d %H:%M:%S'): $pong"; done
     return 0
   else
     echo "falta IP: dping A.B.C.D"
     return 1
   fi
}
Modificado el 31 Enero, 2016
Creado el 28 agosto, 2014
   

Compartiendo conocimiento desde 1995 - I.M.D. I.M.D.