Ниже хабраката приведены примеры скриптов, облегчающих жизнь :)
Часть 1. Проверка полученного адреса
В свое время у Акадо были проблемы с pppoe авторизацией.А поскольку при загрузке системы часть демонов была привязана к полученному IP-адресу, нужно было как-то автоматизировать процесс загрузки системы и исключить простои.
Идея была в том, чтобы проверить адрес, полученный от провайдера, после запуска pppd. Сам скрипт выглядит следующим образом:
#!/usr/bin/perl use strict; use warnings; use threads; use Touch; use Net::Ping; use Net::Ifconfig::Wrapper qw(Ifconfig); my @check_hostsи добавлен в /etc/rc.d/ppp. Если нам не удалось получить нужный адрес, то отправляем машину на перезагрузку.
Почему бы нам не попробовать перезапустить сам демон ppp? На момент проверки еще мало что запускалось, поэтому исключаем возможность того, что перезагрузка займет много времени — до остановки процессов, а усложнять конструкцию очень не хотелось.
Часть 2. Проверка подключения
Помимо описанной выше ситуации, могут возникнуть проблемы с потерей соединения.Оговорюсь, что вылет пакетов происходит дальше.
способ:
- для работы локальной сети используется адрес, выдаваемый DHCP-сервером провайдера;
- pppoe используется для выхода на улицу.
i=0
pppip="<my_ip>"
echo -e "waiting pppoe connection"
until [ "$i" -eq "30" ]
do
iconf=`/sbin/ifconfig tun0 | awk '/inet/ {print $2}'`
if [ "$iconf" = "$pppip" ]
then
echo -e "successful"
i="30"
break
else
i=`expr $i + 1`
echo -n ".
"
sleep 5
fi
done
if [ "$iconf" != "$pppip" ]
then
echo -e "pppoe not connected!\nSystem will be reboot"
reboot
fi
Теги: #акадо #скрипт #Чулан
-
Как Конвертировать Видео В Mov
19 Oct, 24 -
Пражский Лингвистический Круг
19 Oct, 24 -
Простой Сервотестер С Индикатором
19 Oct, 24 -
Камаз Промо
19 Oct, 24 -
Yotaphone 2 Начинает Глобальную Экспансию
19 Oct, 24