Kezdőlap › Fórumok › Programozás › Bash szkript, de fõleg grep
- This topic has 2 hozzászólás, 3 résztvevő, and was last updated 22 years, 1 month telt el by
dark.
-
SzerzőBejegyzés
-
2003-11-11-15:43 #1918960
Helló!
Most nem tudok Linuxhoz férni (AIX-en és FreeBSD-n próbáltam), de ha pontosan az általad idézett formában válaszol a pinged, akkor:
„xy packets transmitted, xy packets received, xy% packet loss”Code:ping -c 10 http://www.valami.hu | grep „packet loss” | awk ‘{ print substr($7,0,length($7)-1) }’Ezt így vizsgálhatod:
Code:lostpkt=`ping -c 10 http://www.valami.hu | grep „packet loss” | awk ‘{ print substr($7,0,length($7)-1) }’`if [ „$lostpkt” -ge „75”]; then
echo „Nagy a csomagveszteseg (75% feletti)”
else
echo „75%-nal alacsonyabb a csomagveszteseg.”
fi
Vigyázz, a lostpkt= után meg a sor végén egy vissza-aposztróf, vagy balradõlõ-aposztróf van, amit az AltGr+7 gombokkal tudsz elõcsalni magyar kiosztásnál!
Lehet, hogy túlbonyolítottam, de az okosak kijavítják majd :-).
2003-11-14-02:39 #1918961Kössz a segítséget. 😀
AzCode:if [ „$lostpkt” -ge „75”]; thendolog nem mûködött, de végül sikerült rájönnöm.
Ihun van a végeredmény:
(cronból futtatva hálózati kapcsolatot lehet vele naplózni és levelet is küld, ha valami gond van)Code:ping_cmd=”ping -c 20 http://www.akarmi.hu”logfile=”/var/log/pinglog/$(date +%y%m%d).log”
mailopts=”-s Pinglog_warning -r pinglog dark@localhost”
ido=$(date +%H:%M)
ping_result=$($ping_cmd)
ret_val=$?
if [ $ret_val = 0 ]
then
lost_pkt=$(echo $ping_result | awk ‘{ print substr ( $(NF-7), 0 , length ( $(NF-7) )-1 ) }’)
pkt_stats=$(echo $ping_result | awk ‘{ print substr ( $(NF-1), 0 , length ( $(NF-1) ) ) }’)
for ((i=1; i<=$(expr $lost_pkt / 2); i++)) do grafikon=$grafikon+ done kimenet=$(printf "%s|%3s 45 %18s %25s |%s" "$ido" "$lost_pkt" "$pkt_stats" "$ping_cmd" "$grafikon") if [ `expr $lost_pkt > 10` = 1 ]
then
hiba=”Az elveszett csomagok száma túl nagy ($lost_pkt%).”
else
hiba=”OK”
fi
else
kimenet=$(printf „%s| Hiba %s return: %s” „$ido” „$ping_cmd” „$ret_val”)
hiba=”A $ping_cmd sikertelen.”
fi
echo „$kimenet”>>$logfile
if [ „$hiba” != „OK” ]
then
echo -e „Pinglog: Hiba!n$hiba” | mail $mailopts
fi
2009-12-04-19:55 #1871488 -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.

legutóbbi hsz