1. 程式人生 > >Linux下長時間ping網路加時間戳並記錄到文字

Linux下長時間ping網路加時間戳並記錄到文字

由於一些原因,比如需要檢查網路之間是否存在掉包等問題,會長時間去ping一個地址,由於會輸出大量的資訊而且最好要有時間戳,因此我們可以使用簡單的幾個shell命令組合就可以實現:長時間ping一個地址,記錄每次ping的時間戳,並輸出到文字儲存,另外我們還可以將這個動作放到後臺去執行,以免登陸登出之後被中斷。
首先是長時間ping,這個非常簡單,使用引數-c即可:
[[email protected] ~]# 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。
接下來是加時間戳:
[email protected]
~]# 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
然後我們把資訊輸出到文字:
[
[email protected]
~]# ping 192.168.2.1 -c 10 | awk '{ print $0"\t" strftime("%H:%M:%S",systime()) } '>ping.log
[[email protected] ~]# 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
最後,我們需要把任務放到後臺去:
[
[email protected]
~]# nohup ping 192.168.2.1 -c 10 | awk '{ print $0"\t" strftime("%H:%M:%S",systime()) } '>ping1.log &
[1] 2616
[[email protected] ~]# ls
anaconda-ks.cfg  check1.sh  Desktop  eygle.com  httpd  login  pass.conf  ping1.log  ping.log  test1.sh  test1.sh1
[[email protected] ~]# 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網路時間記錄文字

由於一些原因,比如需要檢查網路之間是否存在掉包等問題,會長時間去ping一個地址,由於會輸出大量的資訊而且最好要有時間戳,因此我們可以使用簡單的幾個shell命令組合就可以實現:長時間ping一個地址,記錄每次ping的時間戳,並輸出到文字儲存,另外我們還可以將這個動作放到

linux使用ntpdate同步網路時間

為什麼需要網路同步時間: Linux伺服器執行久時,系統時間就會存在一定的誤差,一般情況下可以使用date命令進行時間設定,但在做資料庫叢集分片等操作時對多臺機器的時間差是有要求的,此時就需要使用ntpdate進行時間同步 安裝ntpdate [[em

Windows 中通過Python實現ping命令時間

Windows Python ping 由於ping命令在ping的時候無法加入時間,不能夠直觀分析結果。便想在ping的時候加入時間戳。 1.首先需要系統配置了Python的環境,我的環境如下,這裏就不介紹環境搭建步驟。 2.以下是代碼展示,新建一個ping.py文件im

Linux的 檔案的三個時間引數

Linux下檔案三個時間引數:(1)modification time(mtime):內容修改時間    這裡的修改時間指的是檔案的內容發生變化,而更新的時間。(2)change time(ctime)

LinuxC語言實現獲取當前時間

C語言獲取當前時間 簡介 在工作中,經常涉及到獲取當前時間,用於寫日誌,基於此,今特意利用C語言寫一個獲取時間函式,用於後面用到時,能夠及時查到。獲取當前時間,要用到time.h中的time()和localtime()函式,二者具體介紹與使用,參見 ht

Linux用C獲取當前系統時間

#include   <time.h> time_t   time(time_t   calptr); 返回的是日曆時間,即國際標準時間公元1970年1月1日00   :   00   :   00以來經過的秒數。然後再呼叫 char   *ctime(const

2011-02-20 19:17 Arm Linux如何儲存設定的系統時間

問:Linux下如何儲存設定的系統時間? 答:分以下步驟進行: (1)通過開發板控制檯設定開發板的當前系統時間: date [MMDDhhmm[[CC]YY][.ss]] 例如: date 010410462008 (2)將系統時間寫入RTC: hwclock -w 讀出檢

linux用C語言獲取本地時間

一個小專案需要以系統時間(精確到微秒)為變數建立檔名,在網上搜索資料,在stackoverflow上找到了需要的東西,記下來備用 #include <sys/time.h> #include <time.h> #include <stdio

linuxc/c++例項之六時間測試和定時器

一、簡介       Linux中使用sleep會導致程式一直阻塞,無法互動,同時sleep和usleep有時也不精確,在此總結linux下的部分時間操作。 二、詳解 1、程式碼timer.cpp #include <iostream> #include &

Linux將用戶添到sudoers中

http his root密碼 配置 not in rep 希望 輸入密碼 -h Linux默認是沒有將用戶添加到sudoers列表中的,需要root手動將賬戶添加到sudoers列表中,才能讓普通賬戶執行sudo命令。 root 賬戶鍵入visudo即可進入sudo配置,

linux查看和添PATH環境變量

linuxlinux下查看和添加PATH環境變量$PATH:決定了shell將到哪些目錄中尋找命令或程序,PATH的值是一系列目錄,當您運行一個程序時,Linux在這些目錄下進行搜尋編譯鏈接。  編輯你的 PATH 聲明,其格式為:  PATH=$PATH:<PATH 1>:<PATH 2&

Linux查看和添環境變量

erb 退出 post 版本 可能 php -v 當前 說明 mail Linux下查看和添加環境變量 CentOS系統下如何將PHP和mysql命令加入到環境變量中,在Linux CentOS系統上 安裝完php和MySQL後,為了使用方便,需要將php和mysql命

linux利用腳本添ftp虛擬用戶賦予權限

put sftp read 用戶密碼 $1 ftp配置 pass user ftp 首先ftp配置應為虛擬用戶登錄模式 用戶密碼文本目錄為/etc/vsftpd/vftpuser,代碼如下: 1 #!/bin/bash 2 # 3 if [ $# -ne 2 ]  

Linux企業級的高階網路配置(bond&team,橋接)

BOND&TEAM 讓Linux核心支援網絡卡繫結驅動。常見的網絡卡繫結驅動有三種模式——mode0、mode1、mode6。 mode0(平衡負載模式):平時兩塊網絡卡均工作,且自動備援,但需要在與伺服器本地網絡卡相連的交換機裝置上進行埠聚合來支援繫結技術。 mode1(平衡備

linux 給網卡添ipv6、路由

網卡 inux 加ip pre window 默認 eth ref pan 添加IPV6地址 ip -6 addr add <ipv6address>/<prefixlength> dev <interface> ip -6 add

Linux用netstat檢視網路狀態、埠狀態

      在linux一般使用netstat 來檢視系統埠使用情況步。       netstat命令是一個監控TCP/IP網路的非常有用的工具,它可以顯示路由表、實際的網路連線以及每一個網路介面裝置的       netstat命令的功能是顯示網路連線、路由表和網路介

linux 使用 tc 模擬網路延遲和丟包

eth0 parent 1: classid 1:1 htb rate 50mbit ceil 1000mbit tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 192.168.111.0/24 flowid 1:1

linux的幾個網路流量監控工具使用

1、nethogs 1)NetHogs是一款開源、免費的,終端下的網路流量監控工具,它可監控Linux的程序或應用程式的網路流量。NetHogs只能實時監控程序的網路頻寬佔用情況。NetHogs支援IPv4和IPv6協議,支援本地網絡卡以及PPP連結 2)debian下安裝

“日期和時間->自動確定日期和時間->使用網路提供時間”功能是怎樣實現的?

[DESCRIPTION] 介紹“使用網路提供時間”這個功能的實現方法及可能會遇到的問題 [SOLUTION] 現在android通過網路同步時間有兩種方式:NITZ和NTP,它們使用的條件不同,可以獲取的資訊也不一樣;勾選這個功能後,手機首先會嘗試NITZ方式,若獲取時間

Linux新增至虛擬網路的路由

最近在從事NS3的研究,我用NS3建立了一個虛擬的網路,但是用emu將這個虛擬網路與外部真實網路連線時,新增路由總是無法成功。 我採用的是網上的方法:route add -net xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx gw xxx.