1-й скрипт определяет доступность шлюза провайдера:
Код: Выделить всё
:global PingCount 3;
:global CheckIp1 193.239.255.130;
:global CheckIp2 82.144.202.129;
:global isp1 [/ping $CheckIp1 count=$PingCount];
:global isp2 [/ping $CheckIp2 count=$PingCount];
Скрипт запускается каждые 30 секунд.
Два вторых скрипта которые задают глобальные переменные для выполнения условия:
Код: Выделить всё
:global maingw [/ip route get [find comment="main"] distance];
и
Код: Выделить всё
:global backgw [/ip route get [find comment="reserv"] distance];
Выполняется каждые 35 секунд.
ну и последний скрипт который должен переводить на резервный канал:
Код: Выделить всё
:if (($isp1=0) && ($backgw=2)); do={ /ip route set distance=2 number=0; :ip route set distance=1 number=1:}
и
Код: Выделить всё
:if (($isp1=$PingCount) && ($maingw=2)) do={ /ip route set [find comment="reserv"] distance=2; /ip route set [find comment="main"] distance=1;}
Выполняются с интервалом в 1 минуту и 1:10.
Проблема в том что вот те самые скрипты которые выполняют переключение и не работают, в окне скриптов показывает что скрипт выполнен но на самом деле нечего не срабатывает, при этом если вручную вбить данную команду в консоль то всё проходит отлично и переключает так как нужно.
Добавлял в начало и в конец скрипта строки
Код: Выделить всё
:log info "test"
Подскажите можно его заставить работать или какой-нибуть альтернативный метод который 100% рабочий?