mikrotik backup 6

mikrotik backup wiki

{
: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 "your_account@gmail.com";
:local pass "your_gmail_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.";
}

 

Все три эти скрипта абсолютно идентичны в плане производимых действий и выполняют следующее (в порядке очерёдности проведения операций):

Затирают DNS-кэш MikroTik’а – я решил, что будет надёжнее исключить возможность резольва DNS-имени сервера исходящей почты Gmail «smtp.gmail.com» в IP-адрес из кэша маршрутизатора — мало ли чего в Google надумают с адресным пространством своих серверов или авария какая (как обычно, в самый неподходящий момент). Бэкап – дело ответственное.
Удаляют файлы бэкапов, созданных при предыдущем запуске данного скрипта – производится во избежание того, чтобы со временем дисковое пространство маршрутизатора не было забито файлами резервных копий. Т.е., единовременно, между запусками вышеприведённых скриптов во внутреннем хранилище самого роутера на базе RouterOS хранится только одна, самая последняя резервная копия (два файла).
Создают файл бэкапа *.backup.
Отправляют сообщение с прикреплённым к нему файлом бэкапа на заданный e-mail-адрес.
Создают файл скрипта настроек *.rsc по команде export.
Отправляют сообщение с прикреплённым к нему файлом скрипта настроек на заданный e-mail-адрес.
Параллельно в системном журнале производится логирование этапов работы запущенного скрипта.

К сожалению RouterOS пока не умеет прикреплять к сообщению более одного файла за раз, поэтому каждый файл приходится отправлять индивидуально.

В результате срабатывания любого из этих скриптов, на указанный вами почтовый адрес придут два сообщения с прикреплёнными к ним файлами:

Остаётся только создать новую запись в планировщике RouterOS (/system scheduler), указав имя вышеприведённого скрипта и задав периодичность его запуска.

  1. Пока комментариев нет.

  1. Пока что обратных ссылок нет.