Работа скрипта. Цикл жизни

Раздел для тех, кто начинает знакомиться с MikroTik
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

В общем вот чего у меня вышло

Код: Выделить всё

:global test  [/system script get script1 source ]
/system ssh user=test 192.169.0.1 command=$test

Потом немного поразмыслив сделал так

Код: Выделить всё

/system ssh user=test 192.169.0.1 command=[/system script get script1 source ]

Содержание скрипта на головном микротике

Код: Выделить всё

/log warning "Its worked!!!"

Оба варианта рабочие

Но, почему то скрипты не отрабатывают если их вызывать шедуллером, если это безобразие поместить в скрипты и выполнить средствами консоли то все гуд, а вот шедуллером ни в какую. Такое ощущение что в самой системе возможностей у консли больше чем у шедуллера. Похоже надо писать разработчикам.


Есть интересная задача и бюджет? http://mikrotik.site
Аватара пользователя
podarok66
Модератор
Сообщения: 4360
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Я пришел к тому же выводу :D
Вы хоть немного владеете английским?
Если да, поднимите этот вопрос перед разработчиками, пожалуйста. Пусть хотя бы дадут разъяснение.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Аватара пользователя
podarok66
Модератор
Сообщения: 4360
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Кстати, у меня в таком виде:

Код: Выделить всё

/system ssh user=test 192.169.0.1 command=[/system backup save name=B.backup]
вообще отрабатывает на головном команда.
А вот в таком:

Код: Выделить всё

/system ssh user=test 192.169.0.1 command="/system backup save name=B.backup"
всё срабатывает на удаленном роутере.
То есть синтаксис немного не такой.
Но в скрипте это ничего не даёт.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

т.к. в винбоксе далеко не весь функционал представлен то полез консолью и вот чего нашел

Код: Выделить всё

[admin@MikroTik] > /system script add policy=ssh,  source="/system ssh user=test 192.169.0.1 " name=11  
api  ftp  local  password  policy  read  reboot  sensitive  sniff  ssh  telnet  test  web  winbox  write


при создании скрипт в полиси есть SSH (в винбоксе нет) но по какой то пречине когда создаем такой скрипт то в polisy ssh не прописывается. Видимо надо где то хитрую галку воткнуть или же снять


Есть интересная задача и бюджет? http://mikrotik.site
Аватара пользователя
podarok66
Модератор
Сообщения: 4360
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Нашел на форуме mikrotik.com именно по этой теме ответ разрабов на аналогичный вопрос:
it is not possible to execute interactive commands from other scripts via script.

If you open terminal it is OK
if that is done via script = nothing happens.

Жаль...


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Так у нас то проблема в том что не устанавливается SSH соединение средствами скриптов. Оно даже не пытается устанавливаться.


Есть интересная задача и бюджет? http://mikrotik.site
Аватара пользователя
podarok66
Модератор
Сообщения: 4360
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Ну вот в той теме на буржуинском форуме ТС поднимал вопрос именно по старту скрипта с практически аналогичными командами. То есть, зайти на удаленный мтик по ssh и выполнить определенный скрипт. Типа в терминале всё в норме, а через скрипты ни в какую. На что разрабы и ответили, мол это не выполняется, потому что выполняться не будет. Насколько я понял вообще всю беседу. Цитата, приведенная мной, это окончательный вердикт, так сказать последний гвоздь в крышку.
А выполнение не начинается, потому что в скриптах, похоже, вначале запускается проверка кода на валидность. При любой ошибке скрипт не будет выполняться. Насколько я понял, скриптом система считает каждый кусок, заключенный в фигурные скобки или, при отсутствии оных, всё тело скрипта.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить