Обнаружена блокировка рекламы: Наш сайт существует благодаря показу онлайн-рекламы нашим посетителям. Пожалуйста, подумайте о поддержке нас, отключив блокировщик рекламы на нашем веб-сайте.
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
felcons писал(а):сильно ногами не пинайте. в код скрипта вставил вот те две строки [/interface get ether5 rx-byte] [/interface get ether5 tx-byte] ставил там где уже body, где тело письма, и скрипт вообще отказался работать. В телнете пробовал вводить те строки то данных никаких не выдавалось.
Не выдадутся. Сначала в переменную надо записать, потом её использовать.
сделал в форме переменных и не работает. редактировал через веб интерфейс в разделе system scripts, в поле sources. Вначале, как положено ставил 8 пробелов и всё описал. получился вот такой скрипт:
: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";
:do { :delay 2s; :global logMessages; :set logMessages "" :foreach i in=[/log find ] do={ :set logMessages ($logMessages. [/log get $i time ]. " "); :set logMessages ($logMessages. [/log get $i message ]); :set logMessages ($logMessages. "\n") } /tool e-mail send server=195.42.130.17 port=25 start-tls=no user=$PointLogin \ password=$PointPassword to=$MailTo from="mysendmail@point.lviv.ua" \ subject=($MailSubject." ($Day/$Month/$Year $Hour:$Min)") \ body=( \ "System information:". \ "\n____________________\n \n". \ "Board name: ".[/system resource get platform]." ".[/system resource get board-name]."\n". \ "Version: ".[/system resource get version]."\n". \ "CPU: ".[/system resource get cpu]." (load ".[/system resource get cpu-load]."%)\n". \ "Free HDD space: ".[/system resource get free-hdd-space]." (total: ".[/system resource get total-hdd-space].")\n". \ "Free memory: ".[/system resource get free-memory]." (total: ".[/system resource get total-memory].")\n". \ "Uptime: ".[/system resource get uptime]. \ "\n \n \n". \ "Last log messages:". \ "\n____________________\n \n". \ "Send Bytes:".[interface ethernet get ether5 tx-bytes]. "\n". \ "Received bytes".[interface ethernet get ether5 rx-bytes]. "\n". \ "\n____________________\n \n". \ $logMessages \ ) file=$FileName; #delete old log /system logging action set memory memory-lines=1 /system logging action set memory memory-lines=65000 :log info "System log cleared by email-log-backup script..."; :log info "Mail with backup sending success"; :do { :delay 3s; /file remove $FileName; :log info "Remove backup file success"; } on-error={ :log warning "Cannot remove backup file $FileName"; }; } on-error={ :log warning "Email sending failed!"; }; } on-error={ :log error "Backup creation failed!"; };
purumtumtum писал(а): ↑31 июл 2016, 11:33
В моем случае было удобнее отправлять бэкап с помощью почтовой учетки на яндексе. Скрипт собран из целой кучи других. Его особенности:
Корректная работа вне зависимости от наличия и настроек SMTP сервера - письма ходят через почтовый сервер Яндекса;
Корректное имя бэкап-файла (имя_железки + дата + время);
Критичные методы завернуты в обработчики ошибок, что значительно упрощает отладку и гарантирует четкую последовательность действий;
Сообщение, приходящее на почту содержит не только файл бэкапа и актуальную информацию о состоянии железки, но и лог событий самой железки;
Не оставляет за собой старых бэкап-файлов, сохраняя свободное место.
Время от времени его немного дописываю, но этот вариант исправно работает уже несколько лет.
А как доработать этот скрипт, чтобы вместе с "полным" бэкапом делался и посылался по почте также бэкап конфигурации (.rsc), а в конце письма отображались не последние сообщения, а только определённые, например login failure?
purumtumtum писал(а): ↑31 июл 2016, 11:33
В моем случае было удобнее отправлять бэкап с помощью почтовой учетки на яндексе. Скрипт собран из целой кучи других. Его особенности:
Корректная работа вне зависимости от наличия и настроек SMTP сервера - письма ходят через почтовый сервер Яндекса;
Корректное имя бэкап-файла (имя_железки + дата + время);
Критичные методы завернуты в обработчики ошибок, что значительно упрощает отладку и гарантирует четкую последовательность действий;
Сообщение, приходящее на почту содержит не только файл бэкапа и актуальную информацию о состоянии железки, но и лог событий самой железки;
Не оставляет за собой старых бэкап-файлов, сохраняя свободное место.
Время от времени его немного дописываю, но этот вариант исправно работает уже несколько лет.
А как доработать этот скрипт, чтобы вместе с "полным" бэкапом делался и посылался по почте также бэкап конфигурации (.rsc), а в конце письма отображались не последние сообщения, а только определённые, например login failure?
немного доработал данный скрипт
добавил rsc и backup в одно сообщение
сделал resolv на smtp.yandex.ru вдруг ip яндекса поменяется
проверял на версии 6.44.1
Воспользовался скриптом из последнего поста, все работает - спасибо. Но возник вопрос, при отправке такого отчета с кириллицей приходят знаки вопроса. Я так понимаю, надо играть с кодировкой? Или это не поможет вовсе?