Bash szkript, de fõleg grep

Kezdőlap Fórumok Programozás Bash szkript, de fõleg grep

3 bejegyzés megtekintése - 1-3 / 3
  • Szerző
    Bejegyzés
  • #1918960
    admin
    Adminisztrátor

      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 :-).

      #1918961
      dark
      Felhasználó

        Kössz a segítséget. 😀
        Az

        Code:
        if [ „$lostpkt” -ge „75”]; then

        dolog 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|%3s45 %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

        #1871488
        csaba
        Felhasználó
        3 bejegyzés megtekintése - 1-3 / 3
        • Be kell jelentkezni a hozzászóláshoz.