Скрипты:Отправка резервной копии настроек на почту

Материал из MikroTik WiKi rus
Перейти к: навигация, поиск

Описание

Скрипт выполняет резервное копирование двумя способами и отправляет обе резервные копии на электронную почту. Можно отправлять бэкап самому себе, т. е. ящик отправитель будет являться и ящиком получателем.

Инструкция

В первом блоке скрипта необходимо задать переменные:

:local smtpserv [:resolve "указать SMTP-сервер"];
:local EaccountFrom "Указать ящик отправитель";
:local EaccountTo "Указать ящик получатель";
:local pass "Указать пароль от ящика отправителя";

Скрипт

#Comments: скрипт выполняет резервное копирование двумя способами и отправляет оба файла по почте

{
#Create Variables
:local smtpserv [:resolve "smtp.gmail.com"];
:local EaccountFrom "name1@domain.com";
:local EaccountTo "name2@domain.com";
:local pass "password";


#
: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;


#Create and E-mail Full Backup
: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=$EaccountFrom to=$EaccountTo server=$smtpserv port=587 user=$EaccountFrom 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.");
:delay 5;


#Create and E-mail Setup Backup
: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 2;
:log info "Sending Setup Script file via E-mail...";
/tool e-mail send from=$EaccountFrom to=$EaccountTo server=$smtpserv port=587 user=$EaccountFrom 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.");
:delay 5;


#Finish
:log info "All System Backups emailed successfully.\nBackuping completed.";
}