灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2958回复:0

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

楼主#
更多 发布于:2012-09-16 16:18
Linux下长时间ping网络加时间戳并记录到文本



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



首先是长时间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  

[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  



[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



-The End-

喜欢0 评分0
游客

返回顶部