GNU/Linux >> Znalost Linux >  >> Linux

Linux Ping:Zobrazit časový limit

Nejlepší věc, kterou jsem našel, bylo použít příznak -O (Všimněte si, že nefunguje ve všech distribucích - pomocí Linux Mint 17.1 Rebecca IPUTILS-PING 3:20121221-4ubuntu1.1)

$ ping -O 10.10.5.1

64 bytes from 10.10.5.1: icmp_seq=53 ttl=245 time=460 ms
no answer yet for icmp_seq=54
64 bytes from 10.10.5.1: icmp_seq=55 ttl=245 time=265 ms
64 bytes from 10.10.5.1: icmp_seq=56 ttl=245 time=480 ms
no answer yet for icmp_seq=57
64 bytes from 10.10.5.1: icmp_seq=58 ttl=245 time=348 ms
64 bytes from 10.10.5.1: icmp_seq=59 ttl=245 time=515 ms
no answer yet for icmp_seq=60
64 bytes from 10.10.5.1: icmp_seq=61 ttl=245 time=320 ms
64 bytes from 10.10.5.1: icmp_seq=62 ttl=245 time=537 ms

Z manuálové stránky:

-O Report outstanding ICMP ECHO reply before sending next packet. This is useful together with the timestamp -D to log output to a diagnostic file and search for missing answers.


fping mi nefungoval... V mém případě to většinou chci vidět v podstatě při restartu serveru... na Windows to funguje docela dobře...

Vytvořil jsem jednoduchý skript (rozšiřující odpověď @entropo), který mi v tom pomůže, což může pomoci odpovědět na tuto otázku:

https://gist.github.com/brunobraga/7259197

#!/bin/bash

host=$1

if [ -z $host ]; then
    echo "Usage: `basename $0` [HOST]"
    exit 1
fi

while :; do
    result=`ping -W 1 -c 1 $host | grep 'bytes from '`
    if [ $? -gt 0 ]; then
        echo -e "`date +'%Y/%m/%d %H:%M:%S'` - host $host is \033[0;31mdown\033[0m"
    else
         echo -e "`date +'%Y/%m/%d %H:%M:%S'` - host $host is \033[0;32mok\033[0m -`echo $result | cut -d ':' -f 2`"
        sleep 1 # avoid ping rain
    fi
done

A použití je něco jako:


Když pomocí příkazu ping zjistím, zda je hostitel zapnutý ve skriptech shellu, udělám něco takového:

ping -W 1 -c 1 $HOST 2>&1 > /dev/null || (echo -n "dead!"; false) && command-that-needs-host-to-be-up

V podstatě odešle jeden ICMP, jehož časový limit vyprší za sekundu bez výstupu, a použije výstupní kód k bránění další akce.


Linux
  1. Rychlejší spouštění Linuxu

  2. Zjistěte osiřelé procesy Linuxu

  3. Příklady příkazů času Linux

  1. Příklady příkazů ping v Linuxu

  2. Příklady příkazů timedatectl v Linuxu

  3. Příklady příkazů uptime v Linuxu

  1. Linux Time Command

  2. Stavy procesu Linuxu

  3. Jak zajistit, aby se příkaz Linux ls zobrazoval jako druhý v časové značce