歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下長時間ping網絡加時間戳並記錄到文本

Linux下長時間ping網絡加時間戳並記錄到文本

日期:2017/2/28 15:33:10   编辑:Linux教程

由於一些原因,比如需要檢查網絡之間是否存在掉包等問題,會長時間去ping一個地址,由於會輸出大量的信息而且最好要有時間戳,因此我們可以使用簡單的幾個shell命令組合就可以實現:長時間ping一個地址,記錄每次ping的時間戳,並輸出到文本保存,另外我們還可以將這個動作放到後台去執行,以免登陸注銷之後被中斷。

首先是長時間ping,這個非常簡單,使用參數-c即可:

[root@ www.linuxidc.com ~]# 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@ www.linuxidc.com ~]# 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@ www.linuxidc.com ~]# ping 192.168.2.1 -c 10 | awk '{ print $0"\t" strftime("%H:%M:%S",systime()) } '>ping.log
[root@ www.linuxidc.com ~]# 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@ www.linuxidc.com ~]# nohup ping 192.168.2.1 -c 10 | awk '{ print $0"\t" strftime("%H:%M:%S",systime()) } '>ping1.log &
[1] 2616
[root@ www.linuxidc.com ~]# ls
anaconda-ks.cfg check1.sh Desktop eygle.com httpd login pass.conf ping1.log ping.log test1.sh test1.sh1
[root@ www.linuxidc.com ~]# 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

-The End-

Copyright © Linux教程網 All Rights Reserved