Mikrotik: резервное копирование настроек (Backup)

Курс «Настройка оборудования MikroTik»

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Узнать подробности

Бэкап - наше все, дабы можно было восстановить настройки легким движением руки в случае экстренного случая (смерть железки, сброс настроек и т.д.)

Mikrotik имеет два вариант бэкапа - в бинарном виде и в виде текстового файла. Каждый способ имеет свои преимущества и недостатки.

Бинарный тип: совершенно непонятно что внутри, но зато сохраняются пользователи роутера.

Текстовый тип: легко читаем, но не выгружаются пользователи, можно бэкапить в любую CVS

Ну а если нет серебряной пули - можно комбинировать оба способа.

Для безопасности бэкап можно шифровать - например, для сохранности логинов/паролей.

Самый предпочтительный способ бэкапа - использовать специализированное ПО, например 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
  • software/mikrotik/mikrotik-backup.txt
  • Последнее изменение: 2021/10/21 01:31
  • 127.0.0.1