sabato, Dicembre 21, 2024

Eseguire backup automatici per gli apparati Ubiquiti

Ciao a tutti,

Oggi sono a proporvi un semplice script per eseguide un backup automatico per tutti i nostri apparati Ubiquiti Networks!

Ecco lo script:

#!/bin/sh

DATA=`date +%d-%m-%y`

DIR=”/home/backup”

mkdir -p $DIR/$DATA
for ip in `cat host.backup`;
do
if ping -c 1 -w 5 $ip &>/dev/null
then
scp admin@$ip:/tmp/system.cfg /home/backup/$DATA/$ip
sleep 10
fi
done

In automatico questo script copia la configurazione dei nostri apparati Ubiquiti e li inserisce all’iterno di una cartella. Il nome del file si chiama come l’ip che ha l’apparato.

Vi troverete file e cartelle del tpo: /home/backup/data-ordierna/192.168.1.20

Dove:
/home/backup/ è la cartella madre
/data-odierna/ è la cartella con la data del giorno corrente
192.168.1.20 è la configurazione dell’ip 192.168.20, quindi avrete tanti file con tanti nomi, quanti indirizzi ip specificate all’iterno del file host.backup

Come si usa questo script? In modo molto semplice!

Il primo passo consiste nell’inserire all’interno del file host.backup (file che dovrà essere creato) gli ip dei nostri apparati Ubiquiti che si intende salvare:

degli@server:~$ cat host.backup
192.168.1.20
192.168.1.1
degli@server:~$

Dopodichè si dovrà generare una chiave (key) ssh, chiave che ci permette di lavorare in ssh, scp, senza tutte le volte dover inserire la password!
Per generare questa chiave basta digitare questo comando: ssh-keygen -t rsa

L’output che vi uscirà sara simile a questo:

degli@server:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/degli/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/degli/.ssh/id_rsa.
Your public key has been saved in /home/degli/.ssh/id_rsa.pub.
The key fingerprint is:
cd:e7:68:eb:a4:28:be:05:c1:f4:dc:e5:49:f2:06:71 degli@server
The key’s randomart image is:
+–[ RSA 2048]—-+
|    .   +.E      |
|   o o . O .    |
|    o o . =     |
|     .   +       |
|    .   S o .    |
|     .     +     |
|      .   + .    |
|    .. . + .     |
|   .oo. ..o      |
+—————–+
degli@server:~$

Il comando sopra eseguito, al punto Enter passphrase, si fermerà. Questo serve per un’ulteriore sicurezza della chiave (key). Potete se non vi interessa tranquillamente premere Invio (Enter) due volte.
Una volta che il comando ha terminato il suo percorso, dovreste avere un’output come questo:

degli@server:~$ ls -al .ssh/
totale 16
drwx—— 2 degli degli 4096  6 apr 14:09 .
drwxr-xr-x 4 degli degli 4096  6 apr 00:12 ..
-rw——- 1 degli degli 1675  6 apr 14:09 id_rsa
-rw-r–r– 1 degli degli  394  6 apr 14:09 id_rsa.pub
degli@server:~$

Finalmente abbiamo creato la nostra chiave (key) ssh!
Adesso dibbiamo solamente inserire la nostra chiave (key) all’interno dell’apparato Ubiquiti che vogliamo gestire senza inserire tutte le volte la password.

Il modo per “installare” la nostra chiave (key) all’interno dell’apparato Ubiquiti dove giornalmente, settimanalmente o mensilmente effettuare un backup è questo:

scp .ssh/id_rsa.pub [email protected]:/etc/dropbear/authorized_keys

L’output che riceverete sara il seguente:

degli@server:~$ scp .ssh/id_rsa.pub [email protected]:/etc/dropbear/authorized_keys
The authenticity of host ’192.168.1.20 (192.168.1.20)’ can’t be established.
RSA key fingerprint is 15:9e:c3:e1:5c:1b:d9:f0:4e:f1:53:94:b6:fe:2f:b6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ’192.168.1.20′ (RSA) to the list of known hosts.
[email protected]′s password:
id_rsa.pub                                                                                                  100%  394     0.4KB/s   00:00
degli@server:~$

Adesso è stato copiato la chiave di autorizzazione all’iterno del nostro apparato Ubiquiti, per controllare l’effettivo funzionamento eseguite un comando sulla macchina remota tipo: ssh [email protected] ls / se il risultato è come l’esempio sottostante tutto il nostro lavoro è andato a buon fine!

degli@server:~$ ssh [email protected] ls /
bin
dev
etc
init
jffs
lib
mnt
proc
sbin
sys
tmp
usr
var
degli@server:~$

Una cosa importantissima è questo comando: cfgmtd -w -p /etc/

Il comando sopra citato vi permette di salvare tutte le modifiche sulla macchina dove abbiamo appena installato la key. Se non viene eseguito questo comando al primo riavvio dell’apparato non ci sarà più la chiave (key) e non potete usufruire dello script.

Adesso non vi rimane che inserire nel crontab del vostro server linux ogni quanti giorni questo script effettuerà il comando.
A presto

Articoli correlati

Noleggia una Tesla per il tuo evento ICT!

Categorie