Kirjoittaja Aihe: Pikkasen apua ping-scriptiin.  (Luettu 2024 kertaa)

drgreen

  • Käyttäjä
  • Viestejä: 32
    • Profiili
Pikkasen apua ping-scriptiin.
« : 03.05.09 - klo:21.55 »
Jos mitenkään onnistuisi kenenkään avittaa scriptin tyngän kanssa, eli periaate mitä halutaan:

Pingtataa luotettavaa serveriä, esim nic.funet.fi IP-osoitteella, tehdään pingi vaikka 10 min välein ja jos pingi ei vastaa vaikka 3:een yritykseen, annetaan koneelle komento. Esim reboot.

EDIT:
Eli siis pingi tehtäis 10 min välein ja kirjotettas johonkin logiin onnistuiko.. sitten 30 min päästä katotaan logia, jos siellä on vaikka 3 riviä tai tyhjä tms. niin komento..

wvdial pitäisi saada vielä boottiin elisan asetuksilla, mut se lienee mun hommaa tässä kohtaa :D
« Viimeksi muokattu: 04.05.09 - klo:13.35 kirjoittanut drgreen »

johnsmith

  • Käyttäjä
  • Viestejä: 35
    • Profiili
Vs: Pikkasen apua ping-scriptiin.
« Vastaus #1 : 04.05.09 - klo:16.14 »
Semmoinenhan pitäisi onnistua varsin pienellä vaivalla.

Jos nyt vaikka ajatellaan, että ajellaan kahta skriptiä cronin avulla vastaavasti ping skriptiä 10 minuutin välein ja sitten testiskriptiä 30 minuutin välein.

ensimmäinen jota ajetaan 10 min välein:
Koodia: [Valitse]


#!/bin/bash

ping -c3 iposoite > lokitiedosto

toinen jota ajetaan 30 min välein:
Koodia: [Valitse]
#!/bin/bash

grep -i 'unreachable' logitiedosto  >/dev/null
TULOS=`echo $?`

 if [ $TULOS = 0 ]
    then
      echo "sammuttamme koneen"
      rm -f lokitiedosto
else
   echo "verkko toimii"

 fi

  exit 0
« Viimeksi muokattu: 04.05.09 - klo:16.17 kirjoittanut johnsmith »

drgreen

  • Käyttäjä
  • Viestejä: 32
    • Profiili
Vs: Pikkasen apua ping-scriptiin.
« Vastaus #2 : 05.05.09 - klo:00.09 »
Kiitos oikein runsaasti!

veekoo

  • Käyttäjä
  • Viestejä: 443
    • Profiili
Vs: Pikkasen apua ping-scriptiin.
« Vastaus #3 : 05.05.09 - klo:09.03 »
Entäs tämä (jatkuvasti ajettava skripti):

Koodia: [Valitse]
#!/bin/sh
COUNT=0
while true
do
        if ! ping -c 3 1.2.3.4
        then
                COUNT=`expr $COUNT + 1`
        else
                COUNT=0
        fi

        if [ "$COUNT" -ge "3" ]; then
                echo "Tarttis tehda jotain..."
        fi

        sleep 10m
done