При чем здесь, работает или нет! В первую руку Вы должны заботиться о читаемости кода. Вы сами опубликовали его в варианте в одну строку. Вот теперь представьте, что прошел год или два. И уже ничего не помните. И скрипт в пару-тройку страниц. И не один, а их штук пять. И все друг от друга зависят, используют общие переменные. Вот там и запоёте об этих значках и правилах.
Уважайте свой труд
скриптинг (общее, вопросы 'обо' всем)
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.
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. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
- podarok66
- Модератор
- Сообщения: 4362
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
-
- Сообщения: 30
- Зарегистрирован: 21 мар 2013, 10:05
podarok66 писал(а):...
ок, учёл
- podarok66
- Модератор
- Сообщения: 4362
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
Так, и чтобы не плодить ненужные темы, сам задам вопрос тем, кто в курсе.
Столкнулся с задачей проверки на наличие файла на микротике. Вот такой код:
Если файла не существует, в ответ получаю стандартный
Но данный ответ невозможно использовать в скрипте. Подскажите обходное решение
* Проверка на наличие файла
* Если есть, одни действия
* Если нет, действия другие...
В пятой версии вроде бы прокатывало что-то типа:
Сейчас же у меня эта связка не работает. Есть ли выход?
Столкнулся с задачей проверки на наличие файла на микротике. Вот такой код:
Код: Выделить всё
{:local ytr [/file get [/file find name=rx.txt] name]; :put $ytr
Если файла не существует, в ответ получаю стандартный
Код: Выделить всё
no such item
Но данный ответ невозможно использовать в скрипте. Подскажите обходное решение
* Проверка на наличие файла
* Если есть, одни действия
* Если нет, действия другие...
В пятой версии вроде бы прокатывало что-то типа:
Код: Выделить всё
:if ([/file get [/file find name=rx.txt] content]!="nil") do={...
} else={...
}
Сейчас же у меня эта связка не работает. Есть ли выход?
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
-
- Сообщения: 30
- Зарегистрирован: 21 мар 2013, 10:05
если я правильно понял задачу, то вроде это делает то, что нужно:podarok66 писал(а):наличие файла
Код: Выделить всё
:if ([:len [/file find name=rx.txt]]>0) do={:put "good"} else={:put "bad"}
тут конечно, :len [...] дает результат немножко не тот, который ожидал я, но конечный результат одинаков.
PS: по идее это могло быть попроще и с false/true - но я не понял как они в МТ работают, без явного их "присвоения", загодя до проверки (а такой вариант уже проще НЕ становится)...
- podarok66
- Модератор
- Сообщения: 4362
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
-user- писал(а):тут конечно, :len [...] дает результат немножко не тот, который ожидал я, но конечный результат одинаков.
Нет-нет, именно этот результат мне и нужен. Спасибо огромное!!! Пойду писать дальше, еще много осталось...
Если все заработает, как хотелось бы или приближенно к желаемому, скриптом поделюсь непременно. Только проверки ждать пару месяцев надо, не меньше Тут уж не обессудьте, в противном случае смысла нет в скрипте...
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
- podarok66
- Модератор
- Сообщения: 4362
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
Так, в черновую набросал скриптик.
То -user-, вот Вам пример, где без комментариев через год я сам буду разбираться далеко не пять минут, что и куда я прикручивал. Достаточно сложно просто будет понять, что этот скрипт делает
К сообществу вопрос:
При отработке условия с почтовой отправкой и сообщение и прикрепленный файл формируются почему-то дублированной записью типа:
Почему информация дублируется и куда пропадает значение года отчета в первой части сообщения?
То -user-, вот Вам пример, где без комментариев через год я сам буду разбираться далеко не пять минут, что и куда я прикручивал. Достаточно сложно просто будет понять, что этот скрипт делает
К сообществу вопрос:
При отработке условия с почтовой отправкой и сообщение и прикрепленный файл формируются почему-то дублированной записью типа:
Код: Выделить всё
Traffic Report for aug-
Incoming traffic - 146952335,27Kb;
143508,13Mb;
140,14Gb.
Outbound traffic - 96919587,84Kb;
94648,35Mb;
92,44Gb.;Traffic Report for aug-2014
Incoming traffic - 146952335,27Kb;
143508,13Mb;
140,14Gb.
Outbound traffic - 96919587,84Kb;
94648,35Mb;
92,44Gb.
Почему информация дублируется и куда пропадает значение года отчета в первой части сообщения?
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
- podarok66
- Модератор
- Сообщения: 4362
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
Да, забыл сказать. Скрипт снимает показания трафика, который пропустил через себя заданный интерфейс в ту и другую сторону и записывает в файл. Если до этого в файле была запись показаний, трафик пересчитывается. В заданный день раз в месяц отчет отсылается на почту, перед этим суммарный трафик за месяц переводится в Гигабайты, Мегабайты и Килобайты (Ненужное можно просто выбросить из скрипта).
Если кому-то интересно станет, могу выложить версию с комментариями...
Если кому-то интересно станет, могу выложить версию с комментариями...
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
-
- Сообщения: 30
- Зарегистрирован: 21 мар 2013, 10:05
не надо, вроде, доступно все... читАемо... понятно.podarok66 писал(а):выложить версию с комментариями...
наверное будет проще, Вам у себя добавить put или log перед записью в файл и отправкой и посмотреть в каком месте именно появляется "дубль"... (он появляется и в письме и в файле?) Так же и с годом, который не появляется в "отчете", предварительно его через put всей строки скрипта проверить... В одном месте нету косой черты "/" перед "system" в [:pick [system clock get date] 7 11 ] , но на врядли это на что-то влияет, потому что и так скрипт отрабатывает...podarok66 писал(а):Почему информация дублируется и куда пропадает значение года отчета в первой части сообщения?
скромно выложу это тут для наглядности (этот "тест" имитирует применение в скрипте повторяющихся запросов у МТ и для сравнения второй показывает одиночное использование запроса а дальше оперирование переменной которой результат был присвоен):
или одной строчкой:это я к тому, что запрос времени выполняется на порядок дольше, чем просто присвоение переменным... да и вопрос не во времени даже, постоянный запрос более ресурсоемок для CPU, специально не тестил для наглядности, но почему-то уверен в этом на 99%
Тоже применимо и к pick [:pick [/system clock get date] 7 11 ] - предположу, что его длительность и ресурсоёмкость будет еще больше... наверное лучше повторяющиеся/одинаковые запросы у системы сделать в начале скрипта и присвоить переменной, а потом уже использовать эту переменную....
С уважением.
- podarok66
- Модератор
- Сообщения: 4362
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
-user- писал(а):предположу, что его длительность и ресурсоёмкость будет еще больше...
Да, вполне возможно. Будем смотреть, но уже не сегодня... В любом случае резон в использовании переменной есть, и я это понял))) Спасибо...
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
- podarok66
- Модератор
- Сообщения: 4362
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
Ну вроде бы нашел я причину удвоения текста. У меня есть там вот такая связочка:
Так вот она давала результат: ;2014
Подобное поведение скриптового языка уже описывалось вот тут одним из наших пытливых и внимательных пользователей. Если немного изменить строчку на такую:
и проблема исчезает...
Код: Выделить всё
[:if ([:pick $months $month2]!="dec") do={[:pick [/system clock get date] 7 11]} else={[([:pick [/system clock get date] 7 11 ] - 1)]}]
Так вот она давала результат: ;2014
Подобное поведение скриптового языка уже описывалось вот тут одним из наших пытливых и внимательных пользователей. Если немного изменить строчку на такую:
Код: Выделить всё
[:pick [:if ([:pick $months $month2]!="dec") do={[:pick [/system clock get date] 7 11]} else={[([:pick [/system clock get date] 7 11 ] - 1)]}] 1 5]
и проблема исчезает...
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...