По-моему отправлять результаты опроса
ping в
/dev/null спешить не нужно..... Лучше отправлять их в лог-файл и в течение недели ежедневно его изучать на предмет появления "левых" откликов, которые могут сообщать скрипту,что все работает, а на самом деле это бодро рапортует LAN-interface самого модема. Я такую обманку наблюдал не раз.
sleep 120 - меньше двух минут делать нельзя (без доработок в скрипте), ибо модем не будет успевать перезагрузится и уйдет в вечный ребут.
exit 0 можно убрать, т.к скрипт представляет собой бесконечный цикл
while [ 1 ] - так делают в php-коде, в bash применяется
while true
И еще, Ваш скрипт
не будет работать, ибо синтаксис команды ping неверен. Вот правильный фрагмент:
Код:
#!/bin/bash
srv="ya.ru"
timer="120"
count="3"
dsl1="192.168.1.1"
dsl2="192.168.1.2"
dsl3="192.168.1.3"
dsl4="192.168.1.4"
dsl5="192.168.1.5"
while true; do
# -------->
ping -c $count $srv -I $dsl1 > /dev/null
if [ $? -ne 0 ]; then
echo "DSL1 - BAD"
wget -q --user='admin' --password='admin' http:;//$dsl1/rebootinfo.cgi
rm -f rebootinfo.cgi
else
echo "DSL1 - OK"
fi
# <-------
sleep $timer
done