Вы издеваетесь что ли?
Вам же написал микротик ошибку, вполне все ясно. Или вы переводчиками пользоваться не умеете?
Как правильно написать скрипт в микротике
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.
1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.
1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
-
- Модератор
- Сообщения: 3605
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
-
- Сообщения: 2
- Зарегистрирован: 28 окт 2014, 19:28
Чтобы не создавать тему, пишу в этой. Пожалуйста подскажите правильный скрипт, который бы оправлял ip интерфейса ppp-out1 с 3G модемом на email, при его смене. Почтовый клиент в микротике настроил, сообщения доходят, находил подобные скрипты, но они для предыдущей пятой версии RouterOS, в синтаксисе пока не силен. В данный момент на роутере использую версию 6.19.
- GDragon
- Сообщения: 80
- Зарегистрирован: 20 ноя 2014, 15:48
Я сейчас использую вот такую конструкцию.
У меня 6.22 но я думаю должно работать. :)
p.s.
Делал в т.ч. и себе на будущее поэтому там много комментариев и сообщений в логи. (Соответственно можно подчистить - он станет короче).
Т.к. особо скриптингом на Mikrotik не занимался не исключаю что где то можно сделать проще/акуратнее.
Но работает. Шлёт на мыло письмо если IP изменился и не шлёт если нет :D.
У меня 6.22 но я думаю должно работать. :)
p.s.
Делал в т.ч. и себе на будущее поэтому там много комментариев и сообщений в логи. (Соответственно можно подчистить - он станет короче).
Т.к. особо скриптингом на Mikrotik не занимался не исключаю что где то можно сделать проще/акуратнее.
Но работает. Шлёт на мыло письмо если IP изменился и не шлёт если нет :D.
- GDragon
- Сообщения: 80
- Зарегистрирован: 20 ноя 2014, 15:48
Кстати, гуру - подскажите как реализовать проверку на заполненность переменной внутри команды отправки?
Допустим переменная
:local Eccmail "";
если она пустая то команда отправки
/tool e-mail send from="sender" to="recipient" server=smtpserver port=587 user=mailuser password=mailpassword start-tls=yes subject=("subject") body=("body");
Если в ней что-то есть то команда отправки
/tool e-mail send from="sender" to="recipient" cc="$Eccmail" server=smtpserver port=587 user=mailuser password=mailpassword start-tls=yes subject=("subject") body=("body");
(И да я знаю что можно через if выбирать одну из двух команд но зочется покороче)
Возможно ли впихнуть проверку в саму команду?
Например /tool e-mail send from="sender" to="recipient" [:if ( $Eccmail != zero ) do={ cc="$Eccmail" } ] server=smtpserver port=587 user=mailuser password=mailpassword start-tls=yes subject=("subject") body=("body");
Все осложняет отсутствие вменяемых средств отладки в rOS :(
Допустим переменная
:local Eccmail "";
если она пустая то команда отправки
/tool e-mail send from="sender" to="recipient" server=smtpserver port=587 user=mailuser password=mailpassword start-tls=yes subject=("subject") body=("body");
Если в ней что-то есть то команда отправки
/tool e-mail send from="sender" to="recipient" cc="$Eccmail" server=smtpserver port=587 user=mailuser password=mailpassword start-tls=yes subject=("subject") body=("body");
(И да я знаю что можно через if выбирать одну из двух команд но зочется покороче)
Возможно ли впихнуть проверку в саму команду?
Например /tool e-mail send from="sender" to="recipient" [:if ( $Eccmail != zero ) do={ cc="$Eccmail" } ] server=smtpserver port=587 user=mailuser password=mailpassword start-tls=yes subject=("subject") body=("body");
Все осложняет отсутствие вменяемых средств отладки в rOS :(
-
- Модератор
- Сообщения: 3605
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
За утренним кофе особо делать было нечего. Конструкция такая, не проверял
А если подумать то вообще можно сократить до
А если учесть тот факт что такая конструкция тоже работает
То соответственно имеем на выходе
Все, кофе закончился, дальше читайте документацию, там все это есть
Код: Выделить всё
:local Eccmail "";
:if ($Eccmail != "") do={:set Eccmail "cc=$Eccmail"}
[:parse "/tool e-mail send from=sender to=recipient $Eccmail server=smtpserver port=587 user=mailuser password=mailpassword start-tls=yes subject=\"subject\" body=\"123\""]
А если подумать то вообще можно сократить до
Код: Выделить всё
:local Eccmail "";
:if ($Eccmail != "") do={:set Eccmail "cc=$Eccmail"}
[:parse "/tool e-mail send to=recipient $Eccmail subject=\"subject\" body=\"123\""]
А если учесть тот факт что такая конструкция тоже работает
Код: Выделить всё
/tool e-mail send to=vqd2012@gmail.com cc="" subject="test" body="123"
То соответственно имеем на выходе
Код: Выделить всё
/tool e-mail send to=recipient сс=$Eccmail subject="subject" body="123"
Все, кофе закончился, дальше читайте документацию, там все это есть
Есть интересная задача и бюджет? http://mikrotik.site
- GDragon
- Сообщения: 80
- Зарегистрирован: 20 ноя 2014, 15:48
Код: Выделить всё
/tool e-mail send to=recipient cc="" subject="test" body="123"
Неа... не работает :) во всяком случае у меня в 6.22 оно ругается на неверный синтаксис при отправке. в логах светится попытка отправки на пустой емейл и ругань почтового сервера на это.
Код: Выделить всё
:local Eccmail "";
:if ($Eccmail != "") do={:set Eccmail "cc=$Eccmail"}
Какое однако страшное шаманство >_<
Последний раз редактировалось GDragon 03 дек 2014, 11:12, всего редактировалось 1 раз.
-
- Модератор
- Сообщения: 3605
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
-
- Модератор
- Сообщения: 3605
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
- GDragon
- Сообщения: 80
- Зарегистрирован: 20 ноя 2014, 15:48
Да пардон, сам ошибся :)
Ещё 2 вопроса
зачем [:parse если в команде вычислений не производится?
и допустим дефолтная переменная не пустая а содержит текст
:local Eccmail "put additional recepients here, separate with , ";
тогда вариант с наличием cc="$Eccmail" в команде отправки не прокатит :Р
Внутри команды /tool e-mail вычисление и добавление по необходимости точно не сделать? Только снаружи? (Или вообще разделять две команды отправки?)
Ещё 2 вопроса
зачем [:parse если в команде вычислений не производится?
и допустим дефолтная переменная не пустая а содержит текст
:local Eccmail "put additional recepients here, separate with , ";
тогда вариант с наличием cc="$Eccmail" в команде отправки не прокатит :Р
Внутри команды /tool e-mail вычисление и добавление по необходимости точно не сделать? Только снаружи? (Или вообще разделять две команды отправки?)