ТАВРОФОРУМ

Вернуться   ТавроФорум > Не автомобильные темы > Решение бытовых проблем

Решение бытовых проблем Не вся жизнь в машине. Иногда что-то и дома сделать нужно.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.06.2021, 16:10   #1
Rambo
 
Адрес: Киев
Сообщений: 4,678
Машина: "Lanos", 1.5л, 2005 г.в.
Длина: 161980мкм
Диаметр: 39мм
По умолчанию Скрипти для Мікротіка

Вітаю.

А хтось займається програмуванням таких залізяк? Є питання.
__________________
Если все против тебя - может, это ты против всех?
Rambo вне форума   Ответить с цитированием
Старый 17.06.2021, 22:45   #2
_basil_
 
_basil_
 
Адрес: Чернігівська обл.
Возраст: 53
Сообщений: 4,956
Машина: Ford Fusion 1,4 2010
Длина: 183160мкм
Диаметр: 36мм
По умолчанию

По необхідності щось потроху для себе пишемо, але не так, щоб в гуру записуватись.
_basil_ вне форума   Ответить с цитированием
Старый 19.06.2021, 22:31   #3
Rambo
 
Адрес: Киев
Сообщений: 4,678
Машина: "Lanos", 1.5л, 2005 г.в.
Длина: 161980мкм
Диаметр: 39мм
По умолчанию

Та просто заплутався в синтаксисі. Чомусь чекалка мікротіка матюкається на одну конструкцію.
Скрипт такий:

1 # Set local variables
2 :local firstInterface "DC1";
3 :local secondInterface "DC2";
4 :local pingTo1 "172.17.10.254";
5 :local pingCount 5;
6 :local stableConnect 70;
7 :local prefix ">>> ";
8 :log info ($prefix . "START PING to $pingTo1");
9 /interface pptp-client {
10 # Get ping successfully packets. In percent
11 :local pingStatus ((( [/ping $pingTo1 count=$pingCount] ) / $pingCount) * 100);
12 :log info ($pingStatus . "% END PING");
13 :if ($pingStatus < $stableConnect) do={
14 :log info ($prefix . "NO DC1!!!");
15 /interface pptp-client enable $firstInterface
16 :delay 5;}
17 # Check VPN
18 /interface pptp-client monitor [/interface pptp-client find name=$firstInterface] once 19 do={
20 :if ($status = "connected") do={
21 :log info ($prefix . "DC1 UP");
22
23 } else={
24 /interface pptp-client monitor [/interface pptp-client find name=$secondInterface] 25 once do={
26 :if ($status = "connected") do={
27 :log info ($prefix . "DC2 UP");
28 }
29
30 } else={
31 :log info ($prefix . "DCx not CONNECT!!!");
32 }
33 }
34
35 # Change VPN interface
36 /interface pptp-client disable $firstInterface
37 :delay 5;
38 /interface pptp-client enable $secondInterface
39 }
40 }
41 :log info ($prefix . "END SCRIPT");

Мікротік підключається ВПНом до датацентра, який має два входи (налаштовано 2 ВПНи, один з яких вимкнено). Скріпт перевіряє стан першого ВПНа, якщо він неживий, рестартує його. Якщо це не допомагає - пеерключається на другий. Якщо хоч один з ВПНів живий - припиняє роботу. Це такий має бути алгоритм.

Чекалка зупиняється на 30 строчці.
__________________
Если все против тебя - может, это ты против всех?
Rambo вне форума   Ответить с цитированием
Старый 20.06.2021, 18:30   #4
_basil_
 
_basil_
 
Адрес: Чернігівська обл.
Возраст: 53
Сообщений: 4,956
Машина: Ford Fusion 1,4 2010
Длина: 183160мкм
Диаметр: 36мм
По умолчанию

перенос оператора "once" на новую строку (строки 24-25) не влияет?
_basil_ вне форума   Ответить с цитированием
Старый 20.06.2021, 21:55   #5
_basil_
 
_basil_
 
Адрес: Чернігівська обл.
Возраст: 53
Сообщений: 4,956
Машина: Ford Fusion 1,4 2010
Длина: 183160мкм
Диаметр: 36мм
По умолчанию

Цитата:
/interface pptp-client monitor [/interface pptp-client find name=$secondInterface]
once do={
Если в скрипте действительно так, то проверка проводится не однократно, а постоянно до ручного прерывания
_basil_ вне форума   Ответить с цитированием
Старый 22.06.2021, 21:42   #6
deivan
 
deivan
 
Адрес: Днепр
Возраст: 45
Сообщений: 1,470
Машина: Chery Tiggo 2.4AT
Длина: 7690мкм
Диаметр: 26мм
По умолчанию

було б непогано delay збільшити, це ж асінхронщина, можливо не встигає
deivan вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 23:33. Часовой пояс GMT +3.


Перевод: zCarot Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.