Mikrotik: резервное копирование настроек (Backup)
Курс «Настройка оборудования MikroTik»
Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.Бэкап - наше все, дабы можно было восстановить настройки легким движением руки в случае экстренного случая (смерть железки, сброс настроек и т.д.)
Mikrotik имеет два вариант бэкапа - в бинарном виде и в виде текстового файла. Каждый способ имеет свои преимущества и недостатки.
Бинарный тип: совершенно непонятно что внутри, но зато сохраняются пользователи роутера.
Текстовый тип: легко читаем, но не выгружаются пользователи, можно бэкапить в любую CVS
Ну а если нет серебряной пули - можно комбинировать оба способа.
Для безопасности бэкап можно шифровать - например, для сохранности логинов/паролей.
Oxidized
Самый предпочтительный способ бэкапа - использовать специализированное ПО, например Oxidized: https://github.com/ytti/oxidized
Из плюсов: можно смотреть diff для понимания что именно и когда изменялось. Из минусов: это отдельное ПО, которое нужно где-то устанавливать и настраивать.
Бинарный бэкап
Files, нажать Backup, ввести имя, нажать Backup
> /system backup save name=backup.backup
Бинарное восстановление
Files, нажать Restore, выбрать из списка, нажать Restore
> /system backup load name=backup.backup
Текстовый бэкап
> export file=text-backup.cfg
Текстовое восстановление
> import file-name=text-backup.cfg
Автоматическое создание бэкапов
Взято с https://github.com/dntsk/mikrotik-backup и допилено (по-моему глупо подключаться по ssh а файлы бэкапа копировать wget'ом - гораздо правильнее использовать scp)
Скрипт делает бинарный и текстовый бэкапы.
Для использования нужно:
- Зарегистрировать на mikrotik пользователя
- Загрузить публичный ключ и назначить его пользователю
#!/bin/bash routers=( 192.168.1.1 192.168.2.1 192.168.3.1 ) backupdir="/home/backup/mikrotik" privatekey="/root/.ssh/id_dsa" login="user" # passwd="pa$Sw0rd" fulldir="${backupdir}/`date +%Y`/`date +%m`/`date +%d`" for r in ${routers[@]}; do cmd_backup="/system backup save name=${r}.backup" ssh ${login}@$r -i $privatekey "${cmd_backup}" > /dev/null cmd_backup="/export file=${r}" ssh ${login}@$r -i $privatekey "${cmd_backup}" > /dev/null sleep 5 mkdir -p $fulldir scp -i $privatekey ${login}@${r}:/${r}.backup ${fulldir} scp -i $privatekey ${login}@${r}:/${r}.rsc ${fulldir} ssh ${login}@$r -i $privatekey "/file remove \"${r}.backup\"" ssh ${login}@$r -i $privatekey "/file remove \"${r}.rsc\"" done