Se si amministra un server Linux, sia esso una macchina dedicata od un server cloud, è piuttosto comune l’esigenza di effettuare un backup automatico del suo contenuto. Riveste un’importanza a dir poco fondamentale, infatti, il backup periodico del contenuto del server (ad esempio siti web e corrispondenti database).
Come supporto per la memorizzazione dei file di backup, è possibile utilizzare Google Drive, il servizio per lo storage di file “in the cloud” fornito dal colosso di Mountain View.
Si può così configurare il server affinché effettui il backup dei dati d’interesse e li carichi automaticamente su Google Drive.
Drive mette a disposizione di tutti gli utenti, gratuitamente, 15 GB di spazio cloud. Dopo aver effetuato il login su Google Drive da un qualunque browser web, collegandosi con questa pagina è sempre possibile verificare lo spazio disponibile e quello che resta ancora a disposizione.
Per richiedere il backup su Google Drive automatico da un server Linux, è possibile ricorrere all’ottima utilità gdrive, basata su riga di comando.
Disponibile nelle versioni per Linux, Windows e Mac OS X, gdrive altro non è che un client per Google Drive, capace di effettuare il login al servizio di Google e gestire i file memorizzati sulla nuvola.
Il download dell’utilità gdrive può essere effettuato da questa pagina selezionando la versione di proprio interesse (nel caso di un server Linux, di solito, drive-linux-386 o drive-linux-amd64).
Per installare gdrive sul server Linux, una volta scaricato il programma, si dovrà semplicemente digitare quanto segue:
Ad installazione di gdrive ultimata, il primo passaggio da compiere consiste nell’effettuare l’autenticazione su Google Drive.
Per procedere, basterà digitare drive
al prompt dei comandi e premere il tasto Invio.
L’utilità gdrive mostrerà un lungo link che dovrà essere copiato in un qualunque browser web: si otterrà, in risposta, un codice alfanumerico che si dovrà copiare in gdrive.
Digitando, nella shell di Linux, il comando drive list
si otterrà istantaneamente l’elenco dei file memorizzati su Google Drive.
Accanto a ciascun file è riportato un lungo identificativo alfanumerico che servirà successivamente per interagire con qualunque file.
Ad esempio, digitando drive info --id
seguito da uno dei codici indentificativi, si otterranno tutti i dettagli relativamente al file specificato:
Il comando drive download --id
seguito dall’identificativo di un file salvato su Google Drive, permetterà di scaricare tale file.
In una cartella di propria scelta, suggeriamo di creare un nuovo script bash:
All’interno di tale script si potrà incollare quanto segue:
#!/bin/bash
## Script creato da Michele Nasi - www.ilsoftware.it
## Crea archivio zip backup
zip --password XXXXXXX -r backup NOMECARTELLA
## Cancella eventuale backup precedente su Google Drive
fileid=$(drive list -t backup.zip -n | head -c 29)
drive delete --id $fileid
## Carica archivio zip backup su Google Drive
echo "Caricamento del backup su Google Drive in corso ..."
drive upload --file backup.zip
## Cancella archivio zip backup locale
rm -rf backup.zip
echo "Upload completato."
Al posto di XXXXXXX, si può specificare una password per proteggere il contenuto dell’archivio Zip con una password mentre NOMECARTELLA va sostituito con il nome della cartella oggetto del backup.
Lo script provvede a creare un archivio Zip (il pacchetto zip deve esse stato preventivamnete installato in Linux: vedere Come configurare server cloud Aruba) con il contenuto della directory NOMECARTELLA (file ed eventuali sottocartelle) e provvede automaticamente a caricare tale file (backup.zip) su Google Drive.
Nel caso in cui un file omonimo (backup.zip) fosse già presente su Google Drive, questo viene preventivamente eliminato prima di effettuare il nuovo upload.
Controllati i percorsi e programmata l’esecuzione automatica dello script su Linux (ad esempio con cron), quello illustrato può essere considerato come un ottimo meccanismo per effettuare il backup automatico del contenuto del server.
Prima di avviare lo script bash, bisognerà renderlo eseguibile digitando il comando chmod a+x backup.sh
.
Per avviarlo, quindi, si potrà digitare ./backup.sh
.
Il backup, tra l’altro, avviene molto velocemente, compatibilmente con il quantitativo di banda messo a disposizione dal provider.
Nel caso di un server cloud Aruba (vedere Come configurare server cloud Aruba), ad esempio, il backup automatico di circa 3,6 GB di dati su Google Drive è avvenuto in meno di 10 minuti, a 7,8 MB/s (ovvero a circa 63 Mbit/s).