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