BASH - skrypt do pingowania komputerów w sieci

Potrzebujesz pomocy z C, C++, perl, python, itp.
stykko
Posty: 5
Rejestracja: 28 maja 2010, 10:54

BASH - skrypt do pingowania komputerów w sieci

Post autor: stykko »

Witam. Potrzebuję skryptu, który odpalony na jednym komputerze, będzie pingował co pare minut dwa pozostałe w sieci lokalnej. Jeżeli ping się nie powiedzie do żadnego, komputer powinien się wyłączyć.

Chodzi generalnie o to, że jeżeli 2 pozostałe komputery zdalnie się wyłączą bo padnie zasilanie i jada na UPSie, to za pomocą pinga sprawdzam z pierwszego czy są wyłączone, jeżeli tak...także się wyłącza.

Znalazłem na jednym forum 2 skrypty jednakże mam problem z ich odpaleniem.

Kod: Zaznacz cały

#!/bin/bash
FOO=0
until [ $FOO -eq 4 ]; do
    if [ `ping -c 1 192.168.0.1 | grep from | wc -l` -eq 0 ]; then
        FOO=$[FOO + 1]
    else
        FOO=0
    fi
    sleep 15m
done
shutdown -h now

Kod: Zaznacz cały

#!/bin/bash
BAR=0
until [ $BAR -eq 4 ]; do
    sleep 15m
    FOO1=`ping -c 1 IP1 | grep from | wc -l`
    FOO2=`ping -c 1 IP2 | grep from | wc -l`
    FOO3=`ping -c 1 IP3 | grep from | wc -l`
    FOO=$[FOO1 + FOO2 + FOO3]
    if [ $FOO -eq 0 ]; then
        BAR=$[BAR + 1]
    else
        BAR=0
    fi
done
shutdown -h now
przerobiłem je na moje potrzeby odpalając na kompie coś takiego (Próbowałem na obydwu)

Kod: Zaznacz cały

#!/bin/bash
FOO=0
until [ $FOO -eq 4 ]; do
    if [ `ping -c 1 192.168.100.8 | grep from | wc -l` -eq 0 ]; then
        FOO=$[FOO + 1]
    else
        FOO=0
    fi
    sleep 3m
done
shutdown -h now
oraz

Kod: Zaznacz cały

#!/bin/bash
BAR=0
until [ $BAR -eq 4 ]; do
    sleep 3m
    FOO1=`ping -c 1 192.168.100.8 | grep from | wc -l`
    FOO2=`ping -c 1 192.168.100.9 | grep from | wc -l`
    FOO=$[FOO1 + FOO2]
    if [ $FOO -eq 0 ]; then
        BAR=$[BAR + 1]
    else
        BAR=0
    fi
done
shutdown -h now
w obydwu przypadkach otrzymuje błedy

w 1 skrypcie

Line 4: [:Brakuje `]'

natomiast w drugim skrypcie mam

Line 3: [:Brakuje `]'

Próbowałem wszelkich kombinacji umiejscowienia -->` w kodzie ale nic nie idzie.

Czy ktoś ma pomysł co tu jest źle?? :/
Pozdrawiam i dzieki za odpowiedź
ODPOWIEDZ