Резервное копирование конфигурации Ubiquiti (UBNT) устройств

Били грозы как-то наши Ubiquiti (UBNT) антенны, которые потом приходилось ремонтировать, менять и естественно наново настраивать. Поэтому решил сделать автоматическое копирование конфигурации.

Для начала установим утилиту которая потом поможет в скрипте вводить пароль:

sudo apt install sshpass

Ну и собственно пример моего скрипта:

#!/bin/bash
# Создаем директорию с текущей датой и переходим в неё
mkdir /home/backups/devices/ubnt/`date +%Y-%m-%d`
cd /home/backups/devices/ubnt/`date +%Y-%m-%d`
# Укажем пароль
PASS=text
# Делаем копию конфигурационного файла в эту директорию
sudo sshpass -p $PASS scp -oStrictHostKeyChecking=no -oConnectTimeout=3 ixnfo@192.168.1.20:/tmp/system.cfg /home/backups/devices/ubnt/`date +%Y-%m-%d`/20_system.cfg
sudo sshpass -p $PASS scp -oStrictHostKeyChecking=no -oConnectTimeout=3 ixnfo@192.168.1.21:/tmp/system.cfg /home/backups/devices/ubnt/`date +%Y-%m-%d`/21_system.cfg
# и так далее для других антенн

Содержимое указанного выше скрипта поместим в пустой файл, назовем как удобно и добавим ссылку в планировщик /etc/crontab, который будет выполнять его каждый день например в 4 утра:

0 4 * * * root /home/backups/backups_cfg.sh > /dev/null 2>&1

В результате ежедневно будет создаваться директория с датой (ГОД-МЕСЯЦ-ДЕНЬ) и в ней будут резервные копии конфигурационных файлов за этот день.

Если устройство заменено другим и имеет тот же IP, нужно удалить старый ключ командой (можно добавить в скрипт для каждого устройства):

ssh-keygen -f "/root/.ssh/known_hosts" -R 192.168.1.20

На устройстве также можно выполнить команду отправки конфигурации на TFTP сервер и исходя их этого придумать скрипт, жаль что SNMP OID для этой команды я не нашел, например:

tftp -p -l /tmp/system.cfg -r test.cfg 192.168.2.2

Оставьте комментарий

Добавить комментарий