Скрипт, заменяющий Wachdog

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

BLOODER писал(а):Опять на коленке :-) ну что это такое ;;-)))

У меня тяга к образным выражениям с молодости. Сейчас уж не переучишь. :-):


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Аватара пользователя
BLOODER
Сообщения: 156
Зарегистрирован: 02 окт 2013, 18:38
Откуда: г.Краснодар
Контактная информация:

Кстати, а с чего вы взяли что из локалки которая с нетом не будет проходить пинг на 8.8.8.8, то есть через бридж вы хотите сказать без интернета у нас валяется :hi_hi_hi: 1:1 играем дальше :ti_pa:


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Пробуйте команду, я вам ее привел. В терминале наберите.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Аватара пользователя
BLOODER
Сообщения: 156
Зарегистрирован: 02 окт 2013, 18:38
Откуда: г.Краснодар
Контактная информация:

Чёрт побери((( вот, вы правы
[admin@SERVER] > /ping count=3 8.8.4.4 interface=bridge-local
HOST SIZE TTL TIME STATUS
8.8.4.4 timeout
8.8.4.4 timeout
8.8.4.4 timeout
sent=3 received=0 packet-loss=100%
HOST SIZE TTL TIME STATUS

[admin@SERVER] > /ping count=3 8.8.4.4 interface=ether1
HOST SIZE TTL TIME STATUS
8.8.4.4 timeout
8.8.4.4 timeout
8.8.4.4 timeout
sent=3 received=0 packet-loss=100%
HOST SIZE TTL TIME STATUS

[admin@SERVER] > /ping count=3 8.8.4.4 interface=yota
HOST SIZE TTL TIME STATUS
8.8.4.4 56 45 77ms
8.8.4.4 56 45 79ms
8.8.4.4 56 45 80ms
sent=3 received=3 packet-loss=0% min-rtt=77ms avg-rtt=78ms max-rtt=80ms


DES
Сообщения: 91
Зарегистрирован: 08 авг 2013, 21:12

А как запускать скрипт после ребута?
И с задержкой ?


RB750UP with Firmware:3.19 && RouterOS:6.23
Аватара пользователя
BLOODER
Сообщения: 156
Зарегистрирован: 02 окт 2013, 18:38
Откуда: г.Краснодар
Контактная информация:

я без задержки сделал


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Вот опять Вы не хотите думать. Вы же ставите временной интервал в шедулере Ping. Вот с этой задержкой и стартует скрипт ping_con. После ребута если используете первый вариант, то старт скрипта по интервалу в шедулере. Если второй, то старт откладывается на то время, которое вы указали в переменных :local deltaH ; :local deltaM ; :local deltaS (часы, минуты и секунды соответственно) до старта шедулера плюс временной интервал самого шедулера.
Ну а скрипт ping_time стартует по шедулеру Time единожды после отсчета в последнем 100 секунд. Он лишь призван проверить, есть ли связь с серверами точного времени и в случае положительного ответа задать время старта основного скрипта ping_con через шедулер Ping. Если ответа нет, просто работает счетчик который отложит время старта шедулера Ping и с ним основного скрипта ping_con на 3600 секунд. Если кто-то предложит более простую схему (работоспособную, конечно) я могу попытаться ее реализовать. Пока меня эта устраивает.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ares
Сообщения: 14
Зарегистрирован: 03 дек 2013, 02:22

Добрый день!
Не нашел подходящей темы, спрошу здесь.

В скрипте есть строка :set MainIfInetOk (($ResultGoogle + $ResultIphome + $ResultMail) >= (2 * $PingCount)) которая сравнивает кол-во переданных и потерянных пакетов.
Как сюда или отдельно прописать сравнение времени ответа. Т.е. хочу получить такой критерий проверки:

"Если количество ответов больше 2/3 и среднее время ответа меньше 100 мс", то такой канал буду считать рабочим.


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

В одной строке сравнивать мокрое и красивое как-то не слишком кошерно. Выводите отдельную переменную для времени и с ней работайте. Хотя, для какого из трех узлов Вы будете брать время ответа? Или станете еще и среднее вычислять? Ну попробуйте, если желание есть, там условий будет сразу несколько, я в них не полезу, просто неинтересно и бесперспективно мне показалось. Если охота сами собирайте такую связку.
В самом конце у Вас выйдет как-то там :

Код: Выделить всё

:if ($A1=... && $B1=...) do={....................} else={...................}

Если переменная А1 примет значение .... и переменная В1 примет значение ..... , то случится ....., иначе будет ....


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ares
Сообщения: 14
Зарегистрирован: 03 дек 2013, 02:22

Да в каком месте сравнивать это дело десятое... Почему считаете бесперспективным? Разве время задержки не является одним из показателем работоспособности канала?

Какой будет цикл мне понятно, подскажите как получить данный параметр. Т.е. кол-во запросов 3 это ping count=3, а ping time=100 или ping timeout=100 не дает нужный параметр.

Да и вообще может куда направите, где есть есть сам алгоритм определяющий работоспособность канала (хотя бы не реализации, а только алгоритм). Неужели все определяют живность канала только по пингу пары внешних адресов? Я понимаю, что это лучше чем проверка по шлюзу провайдера, но ведь не предел мечтаний...


Ответить