Переподключение при превышении ping
Модератор: Модераторы разделов
-
tramX
- Сообщения: 200
Переподключение при превышении ping
Здравствуйте. Есть pppoe соединение. Как сделать, чтобы оно автоматически переподключалось, если ping к определенному адресу в сети превышает 80 мс ?
-
rm_
- Сообщения: 3340
- Статус: It's the GNU Age
- ОС: Debian
Re: Переподключение при превышении ping
Нууу, насчёт 80 мсек это надо sed'ы/awk'и ковырять, но если вам достаточно чтоб переподключалось при пинге 100 мсек и выше (т.е. трёхзначном), можно вот такой вариант в крон забить:
Если хотя бы раз из четырёх попыток пинг будет выше ста, произойдёт переподключение (поправьте на Ваше название PPPoE-конфига).
Код: Выделить всё
(ping -c 4 server.ru | grep -E ".*=[0-9]{3,} ms$") && (poff dsl-provider; sleep 2; pon dsl-provider)Если хотя бы раз из четырёх попыток пинг будет выше ста, произойдёт переподключение (поправьте на Ваше название PPPoE-конфига).
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: Переподключение при превышении ping
rm_
pon/poff есть далеко не во всех дистрибутивах.
там где нет, придётся использовать что-то вроде:
вместо «pon provider» — «pppd call provider»
а вместо «poff provider» — «pkill pppd». предупреждение: эта команда убьёт все процессы pppd.
p.s. возможно, ещё потребуется увеличить паузу между poff и pon. а возможно, и вызывать pkill pppd дважды.
pon/poff есть далеко не во всех дистрибутивах.
там где нет, придётся использовать что-то вроде:
вместо «pon provider» — «pppd call provider»
а вместо «poff provider» — «pkill pppd». предупреждение: эта команда убьёт все процессы pppd.
p.s. возможно, ещё потребуется увеличить паузу между poff и pon. а возможно, и вызывать pkill pppd дважды.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
tramX
- Сообщения: 200
Re: Переподключение при превышении ping
У меня Debian pon/poff для меня подходят.
Раз из четырёх попыток это пинговать будет с какимто интервалом? Где прочитать что это означает ping -c 4 server.ru | grep -E ".*=[0-9]{3,} ms$" И надо sed'ы/awk'и ковырять. есть описание на русском? как разрешить пользователю системы не давая права админа выполнять команды poff и pon dsl-provider. Забыл. Нужно чтоб пере подключалось если не один ping при вишен, а если пингов 10 или 20 превышено, только тогда пере подключать.
Раз из четырёх попыток это пинговать будет с какимто интервалом? Где прочитать что это означает ping -c 4 server.ru | grep -E ".*=[0-9]{3,} ms$" И надо sed'ы/awk'и ковырять. есть описание на русском? как разрешить пользователю системы не давая права админа выполнять команды poff и pon dsl-provider. Забыл. Нужно чтоб пере подключалось если не один ping при вишен, а если пингов 10 или 20 превышено, только тогда пере подключать.
-
Kornelius
- Сообщения: 86
- ОС: Linux/BSD/Netware/OpenSolaris
Re: Переподключение при превышении ping
man ping
man grep
man sed
man awk
Нужно через visudo добавить нечто вроде:
user machin_name = NOPASSWD: /usr/bin/pon, /usr/bin/poff
И user будет делать это через sudo
Ну дык ping -c 10 или 20 соответственно