Страница 1 из 3
Как правильно написать скрипт в микротике
Добавлено: 22 окт 2014, 03:59
Сержа
Всем добрый день!
Делаю резервный канал с использованием USB модема
есть статья
http://papa-admin.ru/blog/mikrotik/avto ... yj-3g.htmlнаписан скрипт по переподключению между основным провайдером и резервным (в случае если первый не доступен).
Подскажите как правильно вписать этот скрипт в mikrotike через winbox. т.к я вставляю код нажимаю выполнить а мне в ответ:
или может кто предложит свой вариант переподключения от основного на резервный канал и обратно))))
Re: Как правильно написать скрипт в микротике
Добавлено: 22 окт 2014, 08:23
podarok66
Какой код? Куда вставляете? Будьте добры свои действия пошагово и с подробностями. А то были прецеденты, после двух страниц советов оказывалось, что стартовый вопрос не о том.
Re: Как правильно написать скрипт в микротике
Добавлено: 22 окт 2014, 20:05
vqd
Ну на халяву только такова же уровня как по ссылке ))
Что то более серьёзное уже продается или пишется самостоятельно
Re: Как правильно написать скрипт в микротике
Добавлено: 23 окт 2014, 09:50
Сержа
подключаюсь к маршрутизатору через WinBox и New Terminal, ввожу
Код: Выделить всё
/system script
add name=backup3G policy=\
ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
source="#Name: backup3G\r\
\n#Version: 1.0\r\
\n#Created: Gerasimov A.\r\
\n#Web: http://papa-admin.ru\r\
\n#Date: 01.2014\r\
\n#Description: failover for 3G modem\r\
\n#\r\
\n:local PingCount 3;\r\
\n\r\
\n:local InterfaceWan wan;\r\
\n:local Interface3G ppp-3G;\r\
\n:local CheckIp 8.8.4.4;\r\
\n:local Use3G false;\r\
\n\r\
\n:local WANstatus [/interface get [/interface find name=\"\$InterfaceWan\
\"] running];\r\
\n:if (\$WANstatus=false) do={\r\
\n\t:set Use3G true;\r\
\n} else {\r\
\n\t:local CheckMainISP [/ping \$CheckIp count=\$PingCount interface=\$InterfaceWan];\r\
\n\t:if (\$CheckMainISP=3) do={\r\
\n\t\t:set Use3G false;\r\
\n\t} else {\r\
\n\t\t:set Use3G true;\r\
\n\t}\r\
\n}\r\
\n:local 3Gstatus [/interface get [/interface find name=\"\$Interface3G\"]\
\_running];\r\
\n:if (\$Use3G=true) do={\r\
\n\tif (\$3Gstatus=false) do={\r\
\n\t\t/interface enable [find name=\"\$Interface3G\"];\r\
\n\t\t:log warning \"Set routes to 3G ISP\";\r\
\n\t}\r\
\n} else {\r\
\n\t:if (\$3Gstatus=true) do={\r\
\n\t\t/interface disable [find name=\"\$Interface3G\"];\r\
\n\t\t:log warning \"Set routes to Main ISP\";\r\
\n\t}\r\
\n}\r\
\n"
Мне в ответ:
Re: Как правильно написать скрипт в микротике
Добавлено: 23 окт 2014, 11:13
vqd
а эти условия у вас соблюдены?
Код: Выделить всё
\n:local InterfaceWan wan;\r\
\n:local Interface3G ppp-3G;\r\
Ну и политики поправте
Re: Как правильно написать скрипт в микротике
Добавлено: 23 окт 2014, 15:03
podarok66
И вопрос еще, юзер, от лица которого Вы к Микротику подключаетесь имеет достаточно прав?
Re: Как правильно написать скрипт в микротике
Добавлено: 23 окт 2014, 15:15
Сержа
Права полные.
\n:local InterfaceWan wan;\r\
\n:local Interface3G ppp-3G;\r\
Условия да соблюдены даже учитывая регистр.
А что значит
Ну и политики поправьте
Re: Как правильно написать скрипт в микротике
Добавлено: 23 окт 2014, 15:21
vqd
скрипты надо не копи/пасте делать а думать. Например с 6,5 на 6,20 допиливать надо
Re: Как правильно написать скрипт в микротике
Добавлено: 23 окт 2014, 15:24
vqd
конкретно в вашем случае проблема в
policy=\
ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api
Попробуйте удалить данную строчку. Потом в винбоксе зайдете и натыкаете нужных прав
Re: Как правильно написать скрипт в микротике
Добавлено: 23 окт 2014, 16:59
Сержа
Убрал данную строчку, теперь пишет:
failure: item with such name already exists
вот скрин: