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-
- Linux下长时间ping网络加时间戳并记录到文本(转)
[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 f ...
- CentOS下长时间ping网络加时间戳并记录到文本
Linux下长时间ping网络加时间戳并记录到文本 由于一些原因,比如需要检查网络之间是否存在掉包等问题,会长时间去ping一个地址,由于会输出大量的信息而且最好要有时间戳,因此我们可以使用简单的 ...
- linux下的shell运算(加、减、乘、除)
linux下的shell运算(加.减.乘.除) 标签: linuxshell运算加减乘除 2014-03-12 16:25 15127人阅读 评论(0) 收藏 举报 分类: linux(17) ((i ...
- Linux下c函数dlopen实现加载动态库so文件代码举例
dlopen()是一个强大的库函数.该函数将打开一个新库,并把它装入内存.该函数主要用来加载库中的符号,这些符号在编译的时候是不知道的.这种机制使得在系统中添加或者删除一个模块时,都不需要重新编译了. ...
- 在Linux下用netstat查看网络状态、端口状态
在Linux下用netstat查看网络状态.端口状态 在linux一般使用netstat 来查看系统端口使用情况步. netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实 ...
- linux下C语言socket网络编程简例
原创文章,转载请注明转载字样和出处,谢谢! 这里给出在linux下的简单socket网络编程的实例,使用tcp协议进行通信,服务端进行监听,在收到client的连接后,发送数据给client:clie ...
- Linux下精确控制时间的函数
Linux下精确控制时间的函数 在测试程序接口运行时间的时候,常用time,gettimeofday等函数,但是这些函数在程序执行的时候是耗费时间的,如果仅仅测试时间还行,但是如果程序中用到时间控制类 ...
- [转载]linux下网卡漂移导致网络不可用
转自:https://blog.csdn.net/hyatsz/article/details/47690993 linux下网卡漂移导致网络不可用 2015年08月16日 00:48:50 hyat ...
- Linux下设置时间
Linux下设置时间 提供两种最根本有效的方式,就是更改时区.这里以更改为国内上海时间例子,其他地方时区同理. 方法一 备份文件 mv /etc/localtime /etc/localtime.ba ...
随机推荐
- Forbidden You don't have permission to access / on this server PHP
在新安装的谷歌游览器里,打不了PHP网站了,错误显示: Forbidden You don't have permission to access / on this server. 原因还是配置权限 ...
- 今天发现一些很有意思的ubuntu命令
跑火车的sl/LS 终端数字雨cmatrix 可能是名言警句也可能是逗你玩的笑话的fortune/fortune-zh 一只会说话的牛 一只会吟诗的牛 上真牛喽! 炫酷 炫酷到这里了!!!
- 使用 expect 命令执行自动分发系统
一.命令 except 实例详解 1. 介绍 expect 使用场景 expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令.当然若是使用不带密码的密钥验证同样可以实现自动登录和自动 ...
- Linux下定时执行脚本(转自Decode360)
文章来自:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html Decode360's Blog 老师(业精于勤而荒于嬉 ...
- Linux下TomcatVM参数修改:Native memory allocation (mmap) failed to map 3221225472 bytes for committing reserved memory.
不可行的方法最初我直接修改catalina.sh, 将JAVA_OPTS变量加上了 -server -Xms1G -Xmx1G -XX:+UserG1GC最初看起来没啥问题,但是当服务器运行几天后,发 ...
- Citrix Xen Desktop安装配置
Citrix虚拟化的东西其实和我现在做的东西完全没有关系的.反正接到通知要搭一个Citrix Xen Desktop那就做. 先放几个教程: :跟着图片通过XenDesktop7发布Win8桌面 这个 ...
- [麦先生]TP3.2之微信开发那点事[基础篇](获取access_token)
在微信文档中一共提供了两个access_token:一个是伪全局配置的Access_token;一个是在微信网页授权时的小Access_token 很多刚刚接触微信开发的人经常会混淆这两个的作用: 我 ...
- Qt 之 饼图
Qt 库由许多模块组成,其中的 Qt Charts,包含了一系列图表组件. 1 饼图 (pie chart) 1.1 Charts 模块 .pro 中添加如下语句: QT += charts 头文 ...
- CSS/CSS3常用样式小结
1.强制文本单行显示: white-space:nowrap; 多行文本最后省略号: display: -webkit-box; -webkit-line-clamp:2; overflow: hid ...
- 通过端口 8080 连接到主机 localhost 的 TCP/IP 连接失败
错误:“connect timed out.请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接.”这 ...