Скрипт для проверки наличия отсутствия default route
Cleus 18 марта, 2010 - 20:08
Этот чертов wimax периодически теряет где-то дефолтный роутер, и я хочу подвесить какой-нибудь простенький скрипт для проверки ситуации - есть он или нет, и если нет, то поднять его на место.
По старой памяти получилось вот такое, но не работает.
Чувствую, что что-то не так, но в bash, к сожалению, не разбираюсь.
if ( sudo /sbin/route | /bin/grep wimax0 | /bin/grep default );
then
sudo /sbin/route add default wimax0
fi
Подскажите, если кто знает. Постоянно передергивать dhcpcd, думаю, как-то уж слишком радикально.
»
- Для комментирования войдите или зарегистрируйтесь
Not?
В баш тоже не силен, но как я понимаю строка sudo /sbin/route add default wimax0 срабатывает только тогда, когда есть роут по умолчанию. Выходит надо сделать if not( sudo /sbin/route | /bin/grep wimax0 | /bin/grep default );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
root@Antarctic $ emerge -av penguins
Чего-то не то
Чего-то не то
if /usr/bin/sudo /sbin/route
#!/bin/bash if /usr/bin/sudo /sbin/route -n|/bin/grep wimax0|/bin/grep "^0\.0\.0\.0" &> /dev/null then /usr/bin/sudo /sbin/route add default gw IP.адрес.вашего.шлюза wimax0 fi
Этот добавляет второй
Этот добавляет второй default, а вот на его отсутствие не реагирует.
software watchdog это называется
запихать в cron что то типа этого
!!!untested!!!
P.S. лучше для таких дел пользоваться sys-apps/iproute2 ^
P.P.S. по вкусу добавить /usr/bin/sudo
Вроде работает, по крайней
Вроде работает, по крайней мере вручную сработало. Спасибо!
Конечно, не реагирует :) Вот
Конечно, не реагирует :) Вот так будет верно :)
#!/bin/bash if ! /usr/bin/sudo /sbin/route -n|/bin/grep wimax0|/bin/grep "^0\.0\.0\.0" &> /dev/null then /usr/bin/sudo /sbin/route add default gw IP.адрес.вашего.шлюза wimax0 fi