Linux下如何将长时间ping网络加时间戳并记录到文本?

    作者:课课家教育更新于: 2016-02-17 14:35:35

      由于一些原因,比如需要检查网络之间是否存在掉包等问题,会长时间去ping一个地址,由于会输出大量的信息而且最好要有时间戳,因此我们可以使用简单的几个shell命令组合就可以实现:长时间ping一个地址,记录每次ping的时间戳,并输出到文本保存,另外课课家还建议可以将这个动作放到后台去执行,以免登陆注销之后被中断。

    Linux下如何将长时间ping网络加时间戳并记录到文本?_Linux_Linux时间戳_Linux系统_课课家

      首先是长时间ping,这个非常简单,使用参数-c即可:

      [root@test ~]# ping 192.168.2.1 -c 10

      PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.

      64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.638 ms

      64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=0.341 ms

      64 bytes from 192.168.2.1: icmp_seq=3 ttl=64 time=0.291 ms

      64 bytes from 192.168.2.1: icmp_seq=4 ttl=64 time=0.259 ms

      64 bytes from 192.168.2.1: icmp_seq=5 ttl=64 time=0.338 ms

      64 bytes from 192.168.2.1: icmp_seq=6 ttl=64 time=0.339 ms

      64 bytes from 192.168.2.1: icmp_seq=7 ttl=64 time=0.243 ms

      64 bytes from 192.168.2.1: icmp_seq=8 ttl=64 time=0.234 ms

      64 bytes from 192.168.2.1: icmp_seq=9 ttl=64 time=0.333 ms

      64 bytes from 192.168.2.1: icmp_seq=10 ttl=64 time=0.284 ms

      --- 192.168.2.1 ping statistics ---

      10 packets transmitted, 10 received, 0% packet loss, time 9002ms

      rtt min/avg/max/mdev = 0.234/0.330/0.638/0.109 ms

      上面我们ping了10次,每次的时间1秒,因此比如你要ping连天那么就是60*60*24*2=172800。

      接下来是加时间戳:

      root@test ~]# ping 192.168.2.1 -c 10 | awk '{ print $0"\\t" strftime("%H:%M:%S",systime()) } '

      PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data. 10:30:21

      64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.436 ms 10:30:21

      64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=0.343 ms 10:30:22

      64 bytes from 192.168.2.1: icmp_seq=3 ttl=64 time=0.368 ms 10:30:23

      64 bytes from 192.168.2.1: icmp_seq=4 ttl=64 time=0.280 ms 10:30:24

      64 bytes from 192.168.2.1: icmp_seq=5 ttl=64 time=0.308 ms 10:30:25

      64 bytes from 192.168.2.1: icmp_seq=6 ttl=64 time=0.360 ms 10:30:26

      64 bytes from 192.168.2.1: icmp_seq=7 ttl=64 time=0.319 ms 10:30:27

      64 bytes from 192.168.2.1: icmp_seq=8 ttl=64 time=0.274 ms 10:30:28

      64 bytes from 192.168.2.1: icmp_seq=9 ttl=64 time=0.360 ms 10:30:29

      64 bytes from 192.168.2.1: icmp_seq=10 ttl=64 time=0.265 ms 10:30:30

      10:30:30

      --- 192.168.2.1 ping statistics --- 10:30:30

      10 packets transmitted, 10 received, 0% packet loss, time 9000ms 10:30:30

      rtt min/avg/max/mdev = 0.265/0.331/0.436/0.052 ms 10:30:30

      然后我们把信息输出到文本:

      [root@test ~]# ping 192.168.2.1 -c 10 | awk '{ print $0"\\t" strftime("%H:%M:%S",systime()) } '>ping.log www.2cto.com

      [root@test ~]# cat ping.log

      PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data. 10:37:23

      64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.398 ms 10:37:23

      64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=0.288 ms 10:37:24

      64 bytes from 192.168.2.1: icmp_seq=3 ttl=64 time=0.465 ms 10:37:25

      64 bytes from 192.168.2.1: icmp_seq=4 ttl=64 time=0.310 ms 10:37:26

      64 bytes from 192.168.2.1: icmp_seq=5 ttl=64 time=0.275 ms 10:37:27

      64 bytes from 192.168.2.1: icmp_seq=6 ttl=64 time=0.247 ms 10:37:28

      64 bytes from 192.168.2.1: icmp_seq=7 ttl=64 time=0.339 ms 10:37:29

      64 bytes from 192.168.2.1: icmp_seq=8 ttl=64 time=0.270 ms 10:37:30

      64 bytes from 192.168.2.1: icmp_seq=9 ttl=64 time=0.297 ms 10:37:31

      64 bytes from 192.168.2.1: icmp_seq=10 ttl=64 time=0.289 ms 10:37:32

      10:37:32

      --- 192.168.2.1 ping statistics --- 10:37:32

      10 packets transmitted, 10 received, 0% packet loss, time 9000ms 10:37:32

      rtt min/avg/max/mdev = 0.247/0.317/0.465/0.067 ms 10:37:32

      最后,我们需要把任务放到后台去:

      [root@test ~]# nohup ping 192.168.2.1 -c 10 | awk '{ print $0"\\t" strftime("%H:%M:%S",systime()) } '>ping1.log &

      [1] 2616

      [root@test ~]# ls

      anaconda-ks.cfg check1.sh Desktop eygle.com httpd login pass.conf ping1.log ping.log test1.sh test1.sh1 www.2cto.com

      [root@test ~]# cat ping1.log

      PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data. 10:40:22

      64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.373 ms 10:40:22

      64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=0.343 ms 10:40:23

      64 bytes from 192.168.2.1: icmp_seq=3 ttl=64 time=0.335 ms 10:40:24

      64 bytes from 192.168.2.1: icmp_seq=4 ttl=64 time=0.299 ms 10:40:25

      64 bytes from 192.168.2.1: icmp_seq=5 ttl=64 time=0.372 ms 10:40:26

      64 bytes from 192.168.2.1: icmp_seq=6 ttl=64 time=0.236 ms 10:40:27

      64 bytes from 192.168.2.1: icmp_seq=7 ttl=64 time=0.394 ms 10:40:28

      64 bytes from 192.168.2.1: icmp_seq=8 ttl=64 time=0.317 ms 10:40:29

      64 bytes from 192.168.2.1: icmp_seq=9 ttl=64 time=0.490 ms 10:40:30

      64 bytes from 192.168.2.1: icmp_seq=10 ttl=64 time=1.65 ms 10:40:31

      10:40:31

      --- 192.168.2.1 ping statistics --- 10:40:31

      10 packets transmitted, 10 received, 0% packet loss, time 9001ms 10:40:31

      rtt min/avg/max/mdev = 0.236/0.480/1.650/0.395 ms 10:40:31

课课家教育

未登录

1