Buongiorno a tutti! Dopo una lunga pausa ricominciamo la pubblicazione di post qui su Tux Maniacs. Nel post di oggi andremo a creare metodo di backup sfruttando il cloud di Google Drive.

COSA VOGLIAMO OTTENERE
Il nostro goal sarà quello di effettuare il backup di una cartella
presente sul nostro PC, tramite una sincronizzazione automatica.
Vogliamo che i file presenti in questa cartella vengano salvati sul
cloud Google Drive, senza un nostro intervento diretto, in modo che i
file presenti all’interno del nostro cloud fungano, in sostanza, da
copia di backup.
CHE COSA E’ POSSIBILE CARICARE
Praticamente tutto, ma non andremo a creare un cient di sincronizzazione.
L’idea di base è quella di sfruttare Google Drive per avere una copia
ridondante dei nostri file più importanti, in modo da non perderli in casi
di malfunzionamento della macchina.
Tipicamente in una macchina server andremo a caricare i file di
configurazione, file di log, e cose simili.
Ripetiamo che non è un client di sincronizzazione, bensì un modo per
effettuare un backup geograficamente distante (e quindi più sicuro).
COSA CI SERVE
La prima componente che ci serve è un Raspberry Pi o un computer in
generale. La guida che esplicheremo è studiata in particolare per il
Lampone, ma con alcune piccole modifiche si adatta perfettamente al
qualunque sistema Linux.
Se non siete forniti di un Raspberry Pi, potete acquistare la versione 2 a
questo link
.
Noi di Tux Maniacs però vi consigliamo di acquistare lo
Starter Bundle Pack
che permette di iniziare subito a lavorare. Infatti contiene un case,
il cavo di alimentazione, la scheda SD completa di sistema operativo ecc.
La seconda componente è il programma
Drive
. Dal nome significativo, capiamo
subito che questo programma permette di interagire con Google Drive in modo
semplice.
Il suo principale punto di forza consiste nella sue estrema semplicità. Ha
infatti due sole funzioni: push
e pull
.
Ma partiamo dall’inizio….
INSTALLAZIONE DEI PROGRAMMI NECESSARI
Scritto in Go Language (linguaggio molto amato da Big G) Drive è un
programma che è stato creato da
Burcu Dogan mentre lavorava presso il team di Google Drive.
Come detto in precedenza, dato che è scritto in Go, ci servirà il
compilatore ufficiale. Per installarlo diamo il seguente comando da t
erminale:
sudo apt-get install golang
al termine dell’installazione dovremo settare la variabile d'ambiente con:
cat << ! >> ~/.bashrc
Inseriamo ora nel prompt che compare a video (si riconosce grazie al simbolo > al posto del solito dollaro):
export GOPATH=\$HOME/gopath export PATH=\$GOPATH:\$GOPATH/bin:\$PATH !
Ora aggiorniamo il file .bashrc
con il comando:
source ~/.bashrc
Scaricarichiamo e compiliamo ora il codice sorgente di Drive dal repository Git ufficiale, tramite:
go get -u github.com/odeke-em/drive/cmd/drive
INIZIALIZZAZIONE
Per utilizzare Drive, ovviamente dovremo avere un account
Google.
Prima di lanciare per la prima volta il comando, dobbiamo inizializzare
correttamente il nostro ambiente di lavoro.
Per prima cosa creiamo una cartella che conterrà tutti i nostri file da
condividere con Google Drive. La cartella è posizionabile in qualunque
punto del nostro File System, e può avere qualunque nome. Nella
procedura d’esempio che andremo a fare sarà la cartella
google-drive
e sarà posizionata all’interno della home del
nostro utente (identificata dal simbolo ~ ).
Per inizializzare drive
diamo:
drive init ~/google-drive
Ci verrà chiesto di aprire un link di google per ottenere il codice identificativo per drive. Apriamo quindi un browser web e effettuiamo l’accesso al nostro account Google.
Fatto questo copiamo e incolliamo il link fornito e copiamo il codice univoco per autorizzare il programma Drive ad accedere ai nostri file.
cd ~/google-drive
CARICARE FILE SU GOOGLE DRIVE: PUSH
Una volta inizializzato il programma, possiamo cominciare a spostare i
file che vogliamo caricare sul cloud, all’interno della cartella. Drive,
come già detto prima, è un programma molto semplice. Di per se non
fornisce alcuna funzione di sincronizzazione, ma di questo ce ne
occuperemo più tardi.
Ora impariamo a caricare correttamente i nostri file sul cloud Google
Drive tramite il comando push
:
drive push
Lanciato in questo modo il risultato è quello di caricare tutta la cartella nel cloud.
Si può semplicemente caricare un singolo file, passando anche il path di ciò che vogliamo caricare.
SCARICARE FILE DA GOOGLE DRIVE: PULL
Viceversa per scaricare tutti i file pendenti da Google Drive, basta
semplicemente dare:
drive pull
Anche qui è possibile scaricare solo alcuni file passando come terzo parametro il path relativo dei/del file desiderati.
ATTENZIONE
Il comando pull
converte in PDF e altri formati tutti i
file creati con Google Documents.
Per specificare il formato diamo:
drive pull -export pdf,rtf,docx,txt
Vi sono molti formati supportati, presso questo link.
SINCRONIZZAZIONE PER RASPBERRY PI
Il programma Drive non è studiato affatto per una sincronizzazione come
la conosciamo noi. Andremo infatti a creare un backup completo sul
nostro cloud, della cartella google-drive
.
Per fare ciò utilizzeremo il programma cron
che è presente
di default su tutte le distribuzioni Linux.
Dobbiamo innanzi tutto creare uno script che ci permetta di
sincronizzare automaticamente la cartella di google-drive
con il cloud. Digitiamo nel terminale:
nano google-drive-updater.sh
e incolliamo il seguente listato:
#!/bin/bash cd /home/<user>/google-drive drive push -quiet
Prestiamo particolare attenzione alla riga 2: abbiamo il path completo della cartella.
Al posto di <user> inseriamo, ovviamente, il nostro utente.
Salviamo e chiudiamo con ctrl+x
.
Il secondo passo è rendere automatico l’esecuzione di questo script.
Apriamo il file di configurazione di cron
con:
sudo nano /etc/crontab
e aggiungiamo in fondo al file la seguente riga:
*/15 * * * *
In questo modo cron
eseguirà in maniera automatica la
sincronizzazione una volta ogni 15 minuti. Ovviamente potete inserire
l’intervallo di tempo che più preferite.
A questo punto dobbiamo solamente più rendere effettivi i cambiamenti con:
sudo /etc/init.d/cron restart
CONCLUSIONI
FONTI
- Drive
- Go Language
- Foto di Joel Garia
Nessun commento:
Posta un commento