Бэкап – наше все, дабы можно было восстановить настройки легким движением руки в случае экстренного случая (смерть железки, сброс настроек и т.д.)
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
Свежие комментарии