Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
backup_routeros_i_otpravka_ego_na_pochtu [2013/10/24 12:59]
ansealk
backup_routeros_i_otpravka_ego_na_pochtu [2013/10/24 13:01] (текущий)
Строка 1: Строка 1:
 +====== BackUP RouterOS и отправка его на почту ======
  
 +Приветствую Вас.
 +
 +Недавно у моего товарища случилась беда с одним из устройств Mikrotik, в следствии чего я помогал ему произвести восстановление рабочего состояния с помощью NetInstall. Ситуация падения устройства банальна и очень обидна. Потому что, как правильный IT-шник он сделал генерирование бекапов на самом устройстве,​ но упустил одну очень важную вещь, то что при генерировании каждого бекапа,​ в него входит полностью конфигурация всего устройства,​ а также все файлы бекапа находящиеся в пункте меню Files. Соответственно,​ при каждом новом бекапе,​ в него попадали старые бекапы и объем занимаемого пространства на nand flash устройстве возрастала в геометрической прогрессии,​ что в конце заняло полностью все пространство на flash, и когда мой друг перезагрузил устройство,​ то оно не загрузилось,​ т.к. не было свободного пространства. При этом ни одного бекапа на компьютере не было, что еще было катастрофичней,​ ему пришлось настраивать устройство почти с нуля.
 +
 +Поэтому опишу способ бекапа Mikrotik RouterOS с отправкой его на почту. Благо в настоящее время объемы почтовых ящиков позволяют хранить файлы, тем более бекап Mikrotik RouterOS занимает всего лишь порядка 150 Килобайт,​ и это согласитесь очень мало, даже имея на почте около 1000 бекапов,​ занятое пространство будет небольшим. Я делаю бекап своей системы 1 раз в неделю,​ в выходной день и отправляю его на почту.
 +
 +В этой статье я и опишу как я это делаю.
 +
 +Для начала идем System -> Scripts -> [+]
 +
 +Вводим название нашего скрипта в поле: Name -> backup_to_email
 +
 +В поле Source:​ ​
 +<code lua>
 +:log info "​==========================================================";​
 +
 +:log info "​BACKUP SCRIPT:​Starting Backup Script...";​
 +
 +:local SystemName [/system identity get name];
 +
 +:local SystemVer [/system package get system version];
 +
 +:log info "​BACKUP SCRIPT: Flushing DNS cache...";​
 +
 +/ip dns cache flush;
 +
 +:delay 2;
 +
 +:log info "​BACKUP SCRIPT: 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"​];​ ### <<​--В кавычках вписываем свой smtp сервер почтаря
 +
 +:local EmAccount " your_e-mail@gmail.com "; ###<<​-- В кавычках вписываем почтовый ящик от которого будет посылаться бекап
 +
 +:local ToAccount " to_e-mail@domain.ru "; ###<<​--- Выписываем почтовый ящик куда будет посылаться бекап.
 +
 +:local Pass "​your_password";​ ### <<--- Вписываем пароль от почтового ящика your_e-mail@gmail.com
 +
 +: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 "​BACKUP SCRIPT: Creating new Full Backup file...";​
 +
 +/system backup save name=$BackupFile;​
 +
 +:delay 2;
 +
 +:log info "​BACKUP SCRIPT: Sending Full Backup file via E-mail...";​
 +
 +/tool e-mail send from=""​ to=$ToAccount server=$smtpserv \
 +
 +port=587 user=$EmAccount password=$Pass start-tls=yes file=$BackupFile \ ### <<​--Вписываем порт который слушает smtp сервер,​ а также tls=yes/no
 +
 +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]\n "by Fedorov Vitaly site: tranz-it.net"​);​
 +
 +: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 "​BACKUP SCRIPT: Creating new Setup Script file...";​
 +
 +/export file=$ExportFile;​
 +
 +:delay 2;
 +
 +:log info "​BACKUP SCRIPT: Sending Setup Script file via E-mail...";​
 +
 +/tool e-mail send from=""​ to=$ToAccount server=$smtpserv \
 +
 +port=587 user=$EmAccount password=$Pass start-tls=yes file=$ExportFile \### <<​--Вписываем порт который слушает smtp сервер,​ а также tls=yes/no
 +
 +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]\n "by Fedorov Vitaly site: tranz-it.net"​);​
 +
 +:delay 5;
 +
 +:log info "All System Backups emailed successfully.";​
 +
 +:log info "​Backuping completed.";​
 +
 +:log info "​==========================================================";​
 +</​code>​
 +
 +
 +Данный скрипт уже адаптирован по почтовый сервер gmail.com, но очень легко его подогнать под другие почтовые сервера,​ я его перенастраивал под yandex.ru, возможно подкорректировав параметры в скрипте использовать корпоративный почтовый сервер.
 +
 +После вписывания своих данных в скрипт,​ а также отладки на отправку бекапа на мыло, добавляем его в scheduler Mikrotik
 +
 +System -> Scheduler -> [+]
 +
 +Пишем имя шедулера,​ а в On Event пишем: /system script run backup_to_email
 +
 +В поле интервал выставляем интервал запуска бекапа и отправки на почту, я ставлю порядка 7 дней, т.е. 1 раз в неделю,​ этого достаточно,​ можно выставить и 14 дней, все зависит от количества сделанных изменений за это время.
 +
 +Данный скрипт создает два вида бекапа,​ это файл .backup и файл .rsc  Оба файла имеют маленький размер,​ порядка 150-250 килобайт. Думаю многим пригодиться такой вид системного резервного копирования настроек маршрутизатора Mikrotik. Так же скрипт можно переработать и сделать,​ например,​ оповещение на почту о переключении интернет каналов или проблем в сети.
 +
 +----
 +
 +Оригинал:​ http://​it-mehanika.ru/​index.php?​option=com_content&​view=article&​id=210:​backup-routeros-&​catid=50:​mikrotik&​Itemid=29
backup_routeros_i_otpravka_ego_na_pochtu.txt · Последние изменения: 2013/10/24 13:01 (внешнее изменение)
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика