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.
#!/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
#!/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)
#!/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
#!/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ź