`
123003473
  • 浏览: 1073073 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

 
阅读更多

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命令大全 chm

    Linux命令大全,这是一个专为Linux用户和管理员设计的参考资料,包含了大量的Linux命令和操作指令,旨在帮助用户更高效地在Linux环境下工作。这份资源以CHM(Microsoft Compiled HTML Help)格式提供,支持中文,...

    linuxc常用命令

    - /:Linux文件系统的根目录,所有目录和文件都位于此目录下。 - /bin:存放基本的用户命令,如ls、cp等,可执行文件。 - /boot:存放启动Linux所需的文件,包括内核、引导加载器等。 - /dev:设备文件目录,...

    Linux命令手册,Linux命令手册

    通过深入学习并熟练掌握这些基本命令,用户可以更加自如地在Linux环境下工作,无论是日常的文件操作,还是系统维护和调试,都能得心应手。Linux命令手册是学习和查询这些命令的宝贵资源,值得每一个Linux用户拥有。...

    linux常用命令大全.txt

    Linux常用命令大全涵盖了从文件操作、系统管理到网络配置等多个方面,是每个Linux用户必须熟练掌握的技能。以下是Linux命令的一些主要分类及常用命令。 1. 文件和目录操作命令 - `cd`:用于切换当前目录到指定的...

    Linux常用命令全集

    `mv source destination`可移动文件或重命名,如果destination是目录,则源文件会被移动到该目录下。 9. **cat**:查看文件内容。`cat filename`可以显示文件的全部内容。配合`more`或`less`命令,可以分页查看长...

    Linux操作系统总结与心得.pdf

    此方法的优点在于能够获取最新的版本,但需要较长时间的下载过程。用户可以将下载的文件烧录到CD-R上,或者放置在本地服务器上通过FTP等方式安装。 3. **硬盘安装**:硬盘安装通常需要先准备好ISO镜像文件,然后...

    linux命令全集下载

    8. **vi/vim**:强大的文本编辑器,初学者可能需要花时间学习其操作方式。 9. **cp**:复制文件或目录,如`cp file1 file2`复制file1到file2,`cp -r sourcedir destdir`复制一个目录及其内容。 10. **mv**:移动...

    Linux命令大全(修改版).rar

    在Linux中,命令行是系统交互的主要方式之一,它允许用户通过文本指令执行各种任务,如文件管理、系统控制、网络操作等。以下是一些关键的Linux命令及其用途: 1. `ls`:列出目录内容。通过这个命令,你可以查看...

    linux常用命令大全.pdf

    ### Linux常用命令详解 #### 一、文件管理 1. **ls**:此命令用于列出当前目录中的文件和子目录。通过使用不同的选项,可以改变其输出格式。...熟练掌握这些基础命令能够极大地提高在Linux环境下的工作效率。

    Linux面试题.doc

    Linux中网络操作常用的命令包括ifconfig(配置网络接口),netstat(显示网络连接和路由表),route(修改路由表),ping(测试网络连通性),以及hostname(显示或设置系统的主机名)等。 9. vi复制一段文字。在vi...

    linux命令讲解.txt

    配合参数,如`-l`可以以长格式显示详细信息,包括文件权限、所有者、大小和修改时间。而`-a`参数则可以显示包括隐藏文件在内的所有文件。在使用`ls`命令时,可以使用通配符来匹配文件名模式。 其次,`cd`命令用于...

    学习Linux笔记.pdf

    - **稳定性**:由于其设计结构,Linux非常稳定,适合长时间运行而无需重启。 - **安全性**:Linux具有较高的安全性,更难以被恶意软件攻击。 - **灵活性**:支持多种硬件平台,可以从大型服务器到小型嵌入式设备。 -...

    Linux 命令详解手册中文版

    - **ping**:检查网络连接。 - **ifconfig**:查看或配置网络接口。 - **curl**:获取网络资源。 - **wget**:下载文件,常用于服务器。 - **netstat**:显示网络连接、路由表、接口统计等信息。 6. **包管理...

    linux常用命令大全.md

    从文件管理到系统维护,从网络通信到权限控制,Linux提供了一系列命令行工具,使得对系统的控制变得精细而高效。本文将详细解读一些常用的Linux命令,帮助用户更便捷地管理和使用Linux系统。 1. 列出文件和目录 - ...

    [CMD命令大全(第三部分)] linux命令大全.docx

    Linux命令大全是Linux系统管理与操作的核心工具,涵盖了各种任务,包括文件操作、系统管理、网络通信、进程控制等。以下是一些常见的Linux命令及其用途: 1. `ls`: 列出目录内容,用于查看当前目录下的文件和子目录...

Global site tag (gtag.js) - Google Analytics