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  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
 
-The End-

最新文章

  1. js 定时器
  2. Gif图片制作
  3. CentOS Mysql 5.1.73 主从配置
  4. 无法解析此远程名称: 'www.***.com' 解决办法 请求因 HTTP 状态 417 失败
  5. hdu 2841 Visible Trees
  6. CodeForces 706D Vasiliy's Multiset
  7. Python学习记录----语法学习
  8. 针对微信的一篇推送附有的数据链接进行MapReduce统计
  9. Maven+SSM框架搭建【spring+springmvc+mybatis】
  10. Python自动化运维ansible从入门到精通
  11. Java -- 内部类(一)
  12. HDU3987(最小割最少割边)
  13. 洗礼灵魂,修炼python(32)--面向对象编程(2)—进一步认识类
  14. C#实现物联网系统温度解析的函数(支持补码)
  15. Tomcat下HTTPS双向认证配置以及客户端调用案例
  16. MYSQL的用户变量(@)和系统变量(@@)
  17. MySQL的事务理解
  18. CSS——盒子模型
  19. Hbase delete遇到的常见异常: Exception in thread "main" java.lang.UnsupportedOperationException
  20. 修改JVM的参数、Jstat、Jstack、gclog

热门文章

  1. truncate 、delete与drop区别
  2. 您不能在64位可执行文件上设置DEP属性
  3. [嵌入式开发]Linux性能分析——上下文切换
  4. [转载]python:open/文件操作
  5. SDN:motivation
  6. BZOJ 2330: [SCOI2011]糖果 [差分约束系统] 【学习笔记】
  7. [NOIP2014]自测
  8. Android与Struts2简单json通信
  9. JAVA object
  10. Linux 进程间通讯详解三