Так даже первое do не срабатывает! Или весь код поставить в условие :set $variable true; ?:global variable
:local pingresult1 [ping 194.58.117.14 interface=ether1-External count=3];
:local pingresult2 [ping 8.8.4.4 interface=ether1-External count=3];
:if (($pingresult1+$pingresult2)<2) do={
:if (!$variable) do={
/ip route enable [find gateway=192.168.8.1]
/ip route set [find gateway=192.168.8.1] distance=1
/ip route enable [find comment=ping]
/ip route set [find gateway=109.195.xx.xx and dst-address=0.0.0.0/0] distance=2
:set variable true;
/delay 5
/system script run email
/system script run reconnect
}
}
else={
:if ($variable) do={
/ip route set [find gateway=192.168.8.1] distance=2
/ip route disable [find gateway=192.168.8.1]
/ip route set [find gateway=109.195.xx.xx and dst-address=0.0.0.0/0] distance=1
/ip route disable [find comment=ping]
:set condition false;
/delay 5
/system script run post
/system script run reconnect
}
}
}
Обновление маршрутов из скрипта засоряет лог
-
- Сообщения: 107
- Зарегистрирован: 03 мар 2016, 16:00
- Откуда: Санкт-Петербург
Re: Обновление маршрутов из скрипта засоряет лог
Немного переделал скрипт:
-
- Сообщения: 3915
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: Обновление маршрутов из скрипта засоряет лог
может, потому, что во втором делается что-то таинственное: ":set condition false;"?sasha300 писал(а):Так даже первое do не срабатывает!
подозреваю, там вместо condition должно быть variable
UPD: подсказка: если код обрамлять тегом code, а не quote, то будет сохраняться форматирование
-
- Сообщения: 107
- Зарегистрирован: 03 мар 2016, 16:00
- Откуда: Санкт-Петербург
Re: Обновление маршрутов из скрипта засоряет лог
в общем с этим скриптом закончил, все работает (правда оставил number, так как так проще):
p.s.: форматирование удалилось, так как копировал из самого шедуллера. В notepadd++ код не сохранился
Код: Выделить всё
:global condition
:local pingresult1 [ping 194.58.117.14 interface=ether1-External count=3];
:local pingresult2 [ping 8.8.4.4 interface=ether1-External count=3];
:if (($pingresult1+$pingresult2)<2) do={
:if ($condition) do={
/ip route enable numbers=[find gateway=192.168.8.1]
/ip route set numbers=[find gateway=192.168.8.1] distance=1
/ip route enable numbers=[find comment=ping]
/ip route set numbers=[find gateway=109.195.xx.xx and dst-address=0.0.0.0/0] distance=2
:set condition false;
/delay 5
/system script run email
/system script run reconnect
}
} else={
:if (!$condition) do={
/ip route set numbers=[find gateway=192.168.8.1] distance=2
/ip route disable numbers=[find gateway=192.168.8.1]
/ip route set numbers=[find gateway=109.195.xx.xx and dst-address=0.0.0.0/0] distance=1
/ip route disable numbers=[find comment=ping]
:set condition true
/delay 5
/system script run post
/system script run reconnect
}
}