Страница 3 из 5
Re: Backup настроек на почту
Добавлено: 20 ноя 2016, 17:54
podarok66
Интересненько вы скриптами пользуетесь ))))
Как вы думаете, зачем эта строка в скрипте?
Re: Backup настроек на почту
Добавлено: 09 авг 2017, 22:36
podarok66
Если прикреплять просто пару-тройку файлов, то можно обойтись перечислением их через запятую
Код: Выделить всё
{:local adr "username@gmail.com";
:local pass "password";
:local serv [:resolve "smtp.gmail.com"];
tool e-mail send from=$adr to=$adr server=$serv port=587 start-tls=yes user=$adr password=$pass file=file.ca,file.crt,file.key subject=MyFile body=MyFile }
Для скрипта пойдет что-то типа:
Код: Выделить всё
{
:log info "Starting Backup Script...";
:local sysname [/system identity get name];
:local sysver [/system package get system version];
:log info "Flushing DNS cache...";
/ip dns cache flush;
:delay 2;
:log info "Deleting last Backups...";
:foreach i in=[/file find] do={:if ([:typeof [:find [/file get $i name] "$sysname-backup-"]]!="nil") do={/file remove $i}};
:delay 2;
:local smtpserv [:resolve "smtp.gmail.com"];
:local Eaccount "username@gmail.com";
:local pass "password";
:local backupfile ("$sysname-backup-" . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6] . ".backup");
:log info "Creating new Full Backup file...";
/system backup save name=$backupfile;
:delay 5;
:local exportfile ("$sysname-backup-" . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6] . ".rsc");
:log info "Creating new Setup Script file...";
/export file=$exportfile;
:delay 5;
:log info "Sending Setup Script file and Full Backup file via E-mail...";
/tool e-mail send from="<$Eaccount>" to=$Eaccount server=$smtpserv port=587 user=$Eaccount password=$pass start-tls=yes file="$backupfile,$exportfile" subject=("$sysname Setup Script Backup (" . [/system clock get date] . ")") body=("$sysname Setup Script file see in attachment.
RouterOS version: $sysver
Time and Date stamp: " . [/system clock get time] . " " . [/system clock get date]);
:delay 30;
:log info "All System Backups emailed successfully.
Backuping completed.";
}
Проверяйте, у меня на тестовом прогоне отработало нормально.
Re: Backup настроек на почту
Добавлено: 02 янв 2018, 00:02
hippelalex
seventh писал(а):Я просто оставлю
это здесь.
Спасибо за скрипт!
Сначала все работало нормально. Но в какой то момент скрипт перестал отрабатывать. :(
Внутри, кроме значений to= и subject= Ничего не менялось!
Опытным путем было выяснено, что скрипт не работает с значением body=
Если его убрать, все работает нормально.
Мне этот скрипт нравился как раз своим "телом письма" :)
Большой скрипт из темы (с настройками на Яндекс сервера) тоже пробовал. Та же фигня :(
Ручная отправка в терминале проходит.
Отправка через Tools -> Email -> Send Email тоже проходит нормально.
Данные моего MikroTik:
Код: Выделить всё
uptime: 3w2d9h22m56s
version: 6.40.5 (stable)
build-time: Oct/31/2017 13:05:15
factory-software: 6.28
free-memory: 36.6MiB
total-memory: 64.0MiB
cpu: MIPS 24Kc V7.4
cpu-count: 1
cpu-frequency: 850MHz
cpu-load: 1%
free-hdd-space: 4.8MiB
total-hdd-space: 16.0MiB
write-sect-since-reboot: 689
write-sect-total: 11096
bad-blocks: 0%
architecture-name: mipsbe
board-name: hEX lite
platform: MikroTik
А вот скрипт с Хабрахабра:
Код: Выделить всё
#:log info "///----> Я начал бэкапиться" (расскоменчиваю эти строки для дебага)
:global backupfile ([/system identity get name]. ".backup") #задаю переменную
:if ([/file find name=$backupfile] != "") do={/file rem $backupfile} #удаляю, если файл уже существует
:delay 2s
#:log info "///----> Подготавливаю лог для отправки"
: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")
}
#:log info "///----> Создаю бэкап"
/system backup save name=$backupfile
#:log info "///----> Жду 5 сек. завершения процедуры"
:delay 5s
#:log info "///----> Посылаю конфиг на e-mail" (следующий код — одна длинная строка!)
/tool e-mail send to=mail@examle.com subject=(«router daily backup») file=$backupfile body=(«Бэкап конфигурационного файла маршрутизатора ». [/system identity get name]. ". \nВыполнен: ". [/system clock get time]. " ". \ [/system clock get date]. " \n____________________\n \nUptime: ". [/system resource get uptime]. "\nСвободно оперативки: ". [/system resource get free-memory]. " из ". [/system resource get total-memory]. " Кбайт. \nСвободное место: ". [/system resource get free-hdd-space]. " из ". [/system resource get total-hdd-space]. " Кбайт. \nBad-блоки: ". [/system resource get bad-blocks]. " %. \nЗагрузка процессора на данный момент: ". [/system resource get cpu-load]. " % \n____________________\n \nПоследние записи в логе: \n \n". $logMessages. " \n____________________ \n". [/system identity get name])
#:log info "///----> Жду 10 сек. пока письмо отправится"
:delay 10s
/file remove $backupfile
:log info "///----> Бэкап завершён. Файл послан на mail@example.com. Ура!"
Re: Backup настроек на почту
Добавлено: 02 янв 2018, 00:58
enzain
Такое работает второй год уже без изменений
Нужно изменить почту и пароль от аккаунта, ну и почтовый сервер если есть необходимость
Код: Выделить всё
{
:log info "Starting Backup Script...";
:local sysname [/system identity get name];
:local sysver [/system package get system version];
:log info "Flushing DNS cache...";
/ip dns cache flush;
:delay 2;
:log info "Deleting last Backups...";
:foreach i in=[/file find] do={:if ([:typeof [:find [/file get $i name] \
"$sysname-backup-"]]!="nil") do={/file remove $i}};
:delay 2;
:local smtpserv [:resolve "smtp.yandex.ru"];
:local Eaccount "your@mail.account";
:local pass "password";
:local backupfile ("$sysname-backup-" . \
[:pick [/system clock get date] 7 11] . [:pick [/system \
clock get date] 0 3] . [:pick [/system clock get date] 4 6] . ".backup");
:log info "Creating new Full Backup file...";
/system backup save name=$backupfile;
:delay 2;
:log info "Sending Full Backup file via E-mail...";
/tool e-mail send from="<$Eaccount>" to=$Eaccount server=$smtpserv \
port=587 user=$Eaccount password=$pass start-tls=yes file=$backupfile \
subject=("$sysname Full Backup (" . [/system clock get date] . ")") \
body=("$sysname full Backup file see in attachment.\nRouterOS version: \
$sysver\nTime and Date stamp: " . [/system clock get time] . " " . \
[/system clock get date]);
:delay 5;
:local exportfile ("$sysname-backup-" . \
[:pick [/system clock get date] 7 11] . [:pick [/system \
clock get date] 0 3] . [:pick [/system clock get date] 4 6] . ".rsc");
:log info "Creating new Setup Script file...";
/export verbose file=$exportfile;
:delay 2;
:log info "Sending Setup Script file via E-mail...";
/tool e-mail send from="<$Eaccount>" to=$Eaccount server=$smtpserv \
port=587 user=$Eaccount password=$pass start-tls=yes file=$exportfile \
subject=("$sysname Setup Script Backup (" . [/system clock get date] . \
")") body=("$sysname Setup Script file see in attachment.\nRouterOS \
version: $sysver\nTime and Date stamp: " . [/system clock get time] . " \
" . [/system clock get date]);
:delay 5;
:log info "All System Backups emailed successfully.\nBackuping completed.";
}
Re: Backup настроек на почту
Добавлено: 05 янв 2018, 11:35
hippelalex
Спасибо, enzain. В вашем скрипте нет ничего сложного в =body. У меня тоже первый вариант скрипта работает нормально. Но без параметра =body :(
Что то в нем не нравится Микротику. Он просто останавливает скрипт и все. Разбираться смысла и времени нет, ИМХО. Бэкап приходит исправно. А все данные по загрузке и лог я смотрю через Winbox удаленно.
Просто стало интересно, почему перестало работать :)
Re: Backup настроек на почту
Добавлено: 22 янв 2018, 13:16
felcons
Хоорошее решение было в сообщении
viewtopic.php?p=37418#p37418А на сколько реально в тот же лог или как-то в сообщении добавить статистику по использовани трафика.
Тоесть сколько было внутреннего трафика, и сколько было интернетовского трафика, как входного, так и выходного?
Или микротик считать трафик не умеет и то будет не реально?
Re: Backup настроек на почту
Добавлено: 22 янв 2018, 22:02
podarok66
Микротик - это не биллинг, поэтому подсчет тут чисто черновой. Типа сколько трафика прошло через интерфейс. Задавайте переменную на интересующем вас интерфейсе и снимайте:
1. Просто число байт, прошедших через интерфейс. Зато чисто числовой вариант, можно производить математические действия.
Код: Выделить всё
[/interface get ether5 rx-byte]
[/interface get ether5 tx-byte]
2. Выдает переменную непонятного типа, зато с пробелами через три цифры, очень хорошо зрительно воспринимается. Действия производить не получится.
Код: Выделить всё
[interface ethernet get ether5 rx-bytes]
[interface ethernet get ether5 tx-bytes]
Прикручивайте и отсылайте. Смысла большого не вижу. Так, баловство.
Re: Backup настроек на почту
Добавлено: 22 янв 2018, 22:25
enzain
podarok66 писал(а):Микротик - это не биллинг, поэтому подсчет тут чисто черновой. Типа сколько трафика прошло через интерфейс. Задавайте переменную на интересующем вас интерфейсе и снимайте:
1. Просто число байт, прошедших через интерфейс. Зато чисто числовой вариант, можно производить математические действия.
Код: Выделить всё
[/interface get ether5 rx-byte]
[/interface get ether5 tx-byte]
2. Выдает переменную непонятного типа, зато с пробелами через три цифры, очень хорошо зрительно воспринимается. Действия производить не получится.
Код: Выделить всё
[interface ethernet get ether5 rx-bytes]
[interface ethernet get ether5 tx-bytes]
Прикручивайте и отсылайте. Смысла большого не вижу. Так, баловство.
Ну так типа есть ip accounting
только не видел чтобы кто пользовался....
Не приходилось?
Re: Backup настроек на почту
Добавлено: 22 янв 2018, 22:27
podarok66
Я точно не юзал. Вы у vqd спросите, тот больше нашего знает.
Re: Backup настроек на почту
Добавлено: 26 янв 2018, 11:28
felcons
сильно ногами не пинайте.
в код скрипта вставил вот те две строки
[/interface get ether5 rx-byte]
[/interface get ether5 tx-byte]
ставил там где уже body, где тело письма, и скрипт вообще отказался работать.
В телнете пробовал вводить те строки то данных никаких не выдавалось.