Обнаружена блокировка рекламы: Наш сайт существует благодаря показу онлайн-рекламы нашим посетителям. Пожалуйста, подумайте о поддержке нас, отключив блокировщик рекламы на нашем веб-сайте.
Обсуждение ПО и его настройки
Skylear
Сообщения: 118 Зарегистрирован: 06 авг 2017, 17:50
18 апр 2022, 10:52
Всем привет. Есть рабочий скрипт на ROS6 для перезапуска модема при его подвисании, так вот данный скрипт не работает на ROS7. Маршрутизация отредактирована на ROS7, скорее всего проблема в теле самого скрипта. Вот он:
Код: Выделить всё
:local addr [:toarray "8.8.8.8,8.8.4.4,77.88.8.8,77.88.8.1,77.88.8.88,77.88.8.2"];
:local InternetIsset false;
:foreach ipp in $addr do={
:if ($InternetIsset=false) do={
:if ([/ping address=$ipp routing-table="onlyLTE" count=3] = 0) do={
/log warning message="LTE Internet fail for address $ipp";
} else={
/log warning message="LTE Internet for success $ipp";
:set InternetIsset true;
}
}
}
:if ($InternetIsset=false) do={
/log warning message="USB Power Reset Action";
/system routerboard usb power-reset duration=15;
}
Sertik
Сообщения: 1601 Зарегистрирован: 15 сен 2017, 09:03
18 апр 2022, 11:31
Запустите его в Терминале ROS7, предварительно заключив в локальную область {} и посмотрите где ошибка будет выскакивать.
Skylear
Сообщения: 118 Зарегистрирован: 06 авг 2017, 17:50
18 апр 2022, 17:25
пробовал писать /routing/table - тоже не нравится
Sertik
Сообщения: 1601 Зарегистрирован: 15 сен 2017, 09:03
19 апр 2022, 21:33
Ну вот и всё стало понятно. Умные микротиковцы (бубен им в зад) убрали из /tool ping опцию routing-table ...
Так что и Вы убирайте это из Вашего скрипта и всё заработает (я проверил).
Код: Выделить всё
:local addr [:toarray "8.8.8.8,8.8.4.4,77.88.8.8,77.88.8.1,77.88.8.88,77.88.8.2"];
:local InternetIsset false;
:foreach ipp in $addr do={
:if ($InternetIsset=false) do={
:if ([/ping address=$ipp count=3] = 0) do={
/log warning message="LTE Internet fail for address $ipp";
} else={
/log warning message="LTE Internet for success $ipp";
:set InternetIsset true;
}
}
}
:if ($InternetIsset=false) do={
/log warning message="USB Power Reset Action";
/system routerboard usb power-reset duration=15;
}
Skylear
Сообщения: 118 Зарегистрирован: 06 авг 2017, 17:50
20 апр 2022, 11:35
Все равно ругается на строку...
Да и без таблицы роутинга скрипт будет корректно отрабатывать?
Sertik
Сообщения: 1601 Зарегистрирован: 15 сен 2017, 09:03
20 апр 2022, 13:59
Будет работать корректно, надо указать интерфейс для пинга на всякий, тогда пинговать будет только через модем:
Код: Выделить всё
:local addr [:toarray "8.8.8.8,8.8.4.4,77.88.8.8,77.88.8.1,77.88.8.88,77.88.8.2"];
:local InternetIsset false;
:foreach ipp in $addr do={
:if ($InternetIsset=false) do={
:if ([/ping address=$ipp interface=lte1 count=3] = 0) do={
/log warning message="LTE Internet fail for address $ipp";
} else={
/log warning message="LTE Internet for success $ipp";
:set InternetIsset true;
}
}
}
:if ($InternetIsset=false) do={
/log warning message="USB Power Reset Action";
/system routerboard usb power-reset duration=15;
}
Ваши скрины изображений у меня не читаются (вероятно лежат на каких-то не доверенных серверах), а очки я не ношу ...
Skylear
Сообщения: 118 Зарегистрирован: 06 авг 2017, 17:50
20 апр 2022, 19:58
ругается что в этот что в прошлый раз на строку
а скрины прикрепил стандартный средством этого форума)
xan
Сообщения: 9 Зарегистрирован: 13 дек 2020, 23:58
22 янв 2023, 18:08
Skylear писал(а): ↑ 20 апр 2022, 19:58
ругается что в этот что в прошлый раз на строку
Решили проблему скрипта на ROS 7 ?