Обнаружена блокировка рекламы: Наш сайт существует благодаря показу онлайн-рекламы нашим посетителям. Пожалуйста, подумайте о поддержке нас, отключив блокировщик рекламы на нашем веб-сайте.
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Не надо ничего выдумывать. Всё тело скрипта в { } и пожалуйста вам обработка в консоли. Для отслеживания выполнения скрипта в консоли пошагово вставляем после каждого шага, требующего контроля "визуализацию" типа
и смотрите, на каком из шагов затык... Ну вот к примеру часть кода расчета временного отрезка. В течение отработки кода мы задаем значения переменным, затем изменяем их до нужных с учетом общепринятых временных параметров. Все это видно в консоли при запуске всего куска:
#The variable deltaH can take values from 0 to 23 :local deltaH 5; #The variable deltaM can take values from 0 to 59 :local deltaM 30; #The variable deltaS can take values from 0 to 59 :local deltaS 50;
:local MyTime1 ([:pick [/system clock get time] 0 2]+$deltaH); :local MyTime2 ([:pick [/system clock get time] 3 5]+$deltaM); :local MyTime3 ([:pick [/system clock get time] 6 8]+$deltaS);
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
mrrc писал(а):Затык был в одном случае из-за некорректного значения tls=yes вместо положенного start-tls=yes
Ну да, скрипт-то был еще для пятой версии программного обеспечения, а сейчас уж ждем-не дождемся седьмую версию. Эта разница в настройках появилась при переходе на шестую версию, я поправил стартовый пост только сейчас. за что вам спасибо
mrrc писал(а):в другом попросту скрипт не был помещен в { }
Помещение в фигурные скобки просто предусматривает исполнение всего блока, как одной команды. Для проверки в консоли самое оно. Для скрипта заключение основного тела скобки необязательно. Но я делаю это обычно, просто по привычке и для удобства . Если использовать глобальные переменные, то крайне нежелательно определять тело скрипта как локальную область, это чревато ошибками отработки скрипта...
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
23q писал(а):Как предлагаете отслеживать состояние отправки? Вроде в последних версиях добавили обработчик вывода в терминал. Можно анализировать лог по сообщению "Error sending e-mail" с момента последнего запуска скрипта. Ну а ip smtp - туда уже можно прописать домен, эту возможность добавили.
Эм ну как бы ексепшн есть а дальше пишите обработку ошибки. Логи то зачем ковырять?
E-mail tool already writes in Log errors about unsuccessful mail deliveries. For example: 11:52:05 system,e-mail,error Error sending e-mail <555>: timeout occurred
E-mail tool itself does not return error in CLI and works in background. On-error is not solution for e-mail tool.
Best regards, Martins S.
vqd писал(а):
23q писал(а):Как предлагаете отслеживать состояние отправки? Вроде в последних версиях добавили обработчик вывода в терминал. Можно анализировать лог по сообщению "Error sending e-mail" с момента последнего запуска скрипта. Ну а ip smtp - туда уже можно прописать домен, эту возможность добавили.
Эм ну как бы ексепшн есть а дальше пишите обработку ошибки. Логи то зачем ковырять?
purumtumtum писал(а):В моем случае было удобнее отправлять бэкап с помощью почтовой учетки на яндексе. Скрипт собран из целой кучи других. Его особенности:
Корректная работа вне зависимости от наличия и настроек SMTP сервера - письма ходят через почтовый сервер Яндекса;
Корректное имя бэкап-файла (имя_железки + дата + время);
Критичные методы завернуты в обработчики ошибок, что значительно упрощает отладку и гарантирует четкую последовательность действий;
Сообщение, приходящее на почту содержит не только файл бэкапа и актуальную информацию о состоянии железки, но и лог событий самой железки;
Не оставляет за собой старых бэкап-файлов, сохраняя свободное место.
:do { :local FileName ([/system identity get name]."__$Day_$Month_$Year__$Hour_$Min.backup"); /system backup save name=$FileName; :log info "Backup file ($FileName) created success";
Время от времени его немного дописываю, но этот вариант исправно работает уже несколько лет.
Скрипт работает! Круто! А как исправить проблему при отображении оптайма микротика? У меня написано Uptime 27d 7:23:16 а в письме приходит Uptime 3w6d 7:23:16!
purumtumtum писал(а):А как исправить проблему при отображении оптайма микротика? У меня написано Uptime 27d 7:23:16 а в письме приходит Uptime 3w6d 7:23:16!
А что конкретно вас не устраивает, то что 27 дней это 3 недели и 6 дней, о чем вам и написано, или в том, что это именно так отображается?
purumtumtum писал(а):А как исправить проблему при отображении оптайма микротика? У меня написано Uptime 27d 7:23:16 а в письме приходит Uptime 3w6d 7:23:16!
А что конкретно вас не устраивает, то что 27 дней это 3 недели и 6 дней, о чем вам и написано, или в том, что это именно так отображается?
А, спасибо, я не понял, что это 3 weeks 6 days! Подумал, что это какая-то особая система счисления :)
Добрый день! Подскажите, как можно определить проблему из-за чего скрипт вылетает с ошибкой! Добавил еще несколько скриптов на свой микротик (отправка внешнего ip на почту, если он изменился) - все работают. А отправка лога и бэкапа на почту перестала работать и выдает ошибку - Email sending failed! После перезагрузки микротика какое-то время все норм работает, потом опять это сообщение!
Ну так сложно сказать. Может ему времени на отправку не хватает, а может еще чего... В вашем варианте отправка вообще идет на два адреса, и с какого из них вы получили это сообщение, можно тоже только гадать. Для отлова косяков я обычно временно логирую все шаги и по логам отличаю, что отработало, а что нет. А у вас даже на неотправку письма на разные адреса логи одинаковые
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
podarok66 писал(а):Ну так сложно сказать. Может ему времени на отправку не хватает, а может еще чего... В вашем варианте отправка вообще идет на два адреса, и с какого из них вы получили это сообщение, можно тоже только гадать. Для отлова косяков я обычно временно логирую все шаги и по логам отличаю, что отработало, а что нет. А у вас даже на неотправку письма на разные адреса логи одинаковые
А как включить это логирование? В скрипт какие-то команды добавить надо?