Google Drive backup in Windows: come procedere da riga di comando

Eseguire un backup su Google Drive da riga di comando è possibile usando gli strumenti giusti. Si possono anche crittografare i file a priori in maniera tale che il loro contenuto non possa mai essere letto da parte di terzi.

Mentre Google Drive è il famoso servizio di storage cloud dell’azienda di Mountain View, Google One è il contenitore di tutte le app online offerte dalla società di Larry Page e Sergey Brin. Con Google One è possibile conoscere in tempo reale lo spazio occupato sul cloud e sapere com’è distribuito tra le varie applicazioni.

Chiunque disponesse di un account Google può effettuare il backup dei propri file utilizzati a casa, in ufficio o in azienda, anche sfruttando i 15 GB di spazio gratuito che la società mette gratuitamente a disposizione di tutti.
I file memorizzati sui server di Google sono protetti con la crittografia quindi non possono essere letti e modificati da parte di terzi non autorizzati anche se, nel caso di file personali e informazioni riservate, il consiglio è quello di crittografare a priori in proprio tutti i file che si inviano sui server cloud di Google. Questo semplicemente perché Google, come altre società, possono comunque effettuare una scansione dei contenuti e analizzarli stando a quanto riportato nei termini di servizio.

Il client Google Drive disponibile per Windows e macOS permette di automatizzare il backup e la sincronizzazione di qualunque contenuto memorizzato sui sistemi e sulla rete locale dell’utente.
Se si volesse sfruttare lo spazio cloud di Google per memorizzare file personali e informazioni riservate è però possibile, come accennato in precedenza, utilizzare un livello crittografico aggiuntivo in modo che non sia possibile – lato server – accedere in modo automatizzato o manuale al contenuto dei file dell’utente.
In passato abbiamo presentato diverse strategie per proteggere file e cartelle di cui si esegue il backup sul cloud.

È infatti evidente che se si effettua il backup dei contenuti sul cloud usando un algoritmo crittografico solido e una password lunga e complessa, neppure il provider fornitore del servizio cloud potrà mai accedere ai dati dell’utente.

Google Drive backup da riga di comando

Anziché utilizzare il client ufficiale, gli utenti più esperti che ad esempio sentissero l’esigenza di creare backup periodici su Google Drive possono servirsi di un semplice trucco.

Creando un file batch o comunque eseguendo una serie di passaggi da riga di comando, è possibile fare in modo di salvare automaticamente su Google Drive file importanti memorizzati nella propria rete locale creando archivi compressi e crittografati.

I requisiti per iniziare sono l’ultima versione di 7-Zip che deve essere opportunamente installata sul sistema in uso e il software gratuito Google Drive CLI Client (abbreviato, gdrive) disponibile per sistemi Windows, Linux e macOS (versione Darwin).
Quest’ultimo è capace di effettuare il login al servizio di Google e gestire i file memorizzati sul cloud.

Nel caso in cui si utilizzasse una versione di Windows a 64 bit basta effettuare il download del file gdrive_2.1.1_windows_amd64.tar.gz.
Il file .tar.gz va aperto con 7-Zip per poi estrarre l’eseguibile gdrive.exe nella cartella C:\gdrive.

Aprire da Esplora file (combinazione di tasti Windows+E) la cartella c:\gdrive quindi mantenere premuto il tasto MAIUSC e fare clic con il tasto destro del mouse in un’area libera della stessa cartella.
Dal menu contestuale scegliere Apri finestra di comando qui oppure Apri finestra PowerShell qui (in quest’ultimo caso, alla comparsa della finestra a sfondo blu si deve digitare cmd e premere il tasto Invio).

Nel caso in cui in passato si fosse già utilizzato gdrive sulla stessa macchina si deve premere Windows+R quindi digitare %appdata%.
Il passo seguente consiste nel cancellare la cartella .gdrive e tutto il suo contenuto.

Digitare gdrive list e copiare, nella barra degli indirizzi del browser, previo login con il proprio account Google, l’URL mostrato in corrispondenza della riga di comando.


Alla comparsa della schermata Scegli un account bisogna confermare l’account Google in uso quindi cliccare sul pulsante Consenti.

Il fatto che compaia project-367116221053 come nome dell’applicazione che sta richiedendo l’accesso a Google Drive è assolutamente normale.

Il codice di autorizzazione che viene mostrato deve essere copiato in memoria cliccando sull’icona evidenziata in figura.
A questo punto è possibile incollare lo stesso codice al prompt dei comandi in corrispondenza della voce Enter verification code premendo il tasto destro del mouse oppure CTRL+V.

Dopo aver premuto il tasto Invio, Google Drive CLI Client mostrerà la lista di tutti i file memorizzati su Google Drive e in seguito non richiederà più alcuna autorizzazione per gestire lo storage cloud dell’utente. Il token autorizzativo viene infatti conservato in Windows all’interno della cartella %appdata%\.gdrive che abbiamo già citato in precedenza.

Se in futuro si volesse revocare l’accesso all’account Google da parte di gdrive basta accedere alla pagina app con accesso al tuo account quindi rimuovere project-367116221053.

Backup su Google Drive da riga di comando con 7-Zip

Presentiamo a questo punto una semplice procedura che permette di creare un backup su Google Drive in forma cifrata. I passaggi sono semplici:

– Portarsi nella cartella di 7-Zip da Esplora file (generalmente è C:\Program Files\7-Zip) quindi tenere premuto il tasto MAIUSC e cliccare con il tasto destro del mouse in un’area libera della cartella. Selezionare quindi Apri finestra di comando qui oppure Apri finestra PowerShell qui (in quest’ultimo caso, alla comparsa della finestra a sfondo blu si dovrà digitare cmd e premere il tasto Invio).

– Digitare quanto segue accertandosi di effettuare le sostituzioni descritte poco sotto:

7z a -mhe -pPASSWORD -t7z %userprofile%\ARCHIVIO.7z c:\NOMECARTELLA

La stringa PASSWORD nel comando va rimpiazzata con la password da usare a protezione dell’archivio compresso. L’archivio viene cifrato da 7-Zip con l’algoritmo AES-256.
Il riferimento ARCHIVIO va invece sostituito con il nome dell’archivio compresso che s’intende creare; c:\NOMECARTELLA con il percorso della cartella contenente i file che si desiderano cifrare, comprimere e inviare a Google Drive.

Utilizzando la variabile d’ambiente %userprofile%, l’archivio compresso in formato 7-Zip sarà creato nella cartella di sistema dell’account utente Windows in uso.
L’opzione -mhe consente crittografare anche i nomi dei file e delle cartelle contenuti nell’archivio 7-Zip in modo che nessuno possa capire cosa contiene.

– Impartendo infine il comando gdrive upload %userprofile%\ARCHIVIO.7z, gdrive effettua l’upload del file compresso indicato su Google Drive, all’interno dell’account dell’utente.

Va tenuto presente che effettuando ripetuti backup di file con lo stesso nome, le precedenti copie non saranno sovrascritte in Google Drive perché a ciascun elemento viene sempre assegnato un identificativo (ID) univoco.

Programmare un backup su Google Drive

Creando un semplice batch e programmandone l’esecuzione automatica usando Utilità di pianificazione in Windows è eventualmente possibile creare un backup periodico dei propri dati su Google Drive in forma cifrata. Anche in questo caso è indispensabile verificare attentamente i vari percorsi. L’esempio di file batch da usare è riportato di seguito:

@echo off
"C:\Program Files\7-Zip\7z.exe" a -mhe -pPASSWORD -t7z %userprofile%\ARCHIVIO.7z c:\NOMECARTELLA
c:\gdrive\gdrive.exe upload %userprofile%\ARCHIVIO.7z
del %userprofile%\ARCHIVIO.7z

Ci pare infine interessante evidenziare che gdrive può passare a Google Drive query come la seguente che permettono di risalire agli ID e alle informazioni sui file contraddistinti da uno stesso nome:

gdrive list --query "name contains 'test.7z'"

gdrive può inoltre cancellare file da remoto usando la sintassi gdrive delete seguita dall’ID (identificativo) del file da eliminare su Google Drive.

Come fare per non sprecare spazio di archiviazione su Google Drive

Lo spazio disponibile su Google Drive, come osservavamo in apertura, non è illimitato ed è possibile controllare quello residuo usando questa pagina Google One.

Come fare, allora, per cancellare sempre le vecchie copie di backup di uno stesso file compresso (uguale nome) eventualmente memorizzate su Google Drive prima di caricare sul cloud quelle nuove?

Abbiamo realizzato un semplice file batch che consente di utilizzare gdrive per richiedere gli identificativi dei file salvati su Google Drive e aventi lo stesso nome.
Una volta raccolta tale informazione, i file vengono cancellati con il comando gdrive delete per poi procedere al nuovo upload:

@echo off
setlocal enableextensions enabledelayedexpansion
SET NOMEFILE="ARCHIVIO.7z"
SET DIRBACKUP="c:\temp\test"
SET ARCHIVIOBACKUP="C:\TEMP\ARCHIVIO.7z"
SET GDRIVEDIR="c:\gdrive"
SET ZIPDIR="C:\Program Files\7-Zip\7z.exe"
set /a count = 0

set NOMEFILE=%NOMEFILE:"=%
set DIRBACKUP=%DIRBACKUP:"=%
set ARCHIVIOBACKUP=%ARCHIVIOBACKUP:"=%
set GDRIVEDIR=%GDRIVEDIR:"=%
set ZIPDIR=%ZIPDIR:"=%

%GDRIVEDIR%\gdrive.exe list --query "name contains '%NOMEFILE%'" > %GDRIVEDIR%\files_gdrive.txt
for /f "tokens=*" %%a in (%GDRIVEDIR%\files_gdrive.txt) do (
    set line=%%a
    set chars=!line:~0,33!
    set /a count += 1
    if !count! gtr 1 %GDRIVEDIR%\gdrive.exe delete !chars!
)
del %GDRIVEDIR%\files_gdrive.txt
"%ZIPDIR%" a -mhe -ptest123 -t7z %ARCHIVIOBACKUP% %DIRBACKUP%
%GDRIVEDIR%\gdrive.exe upload %ARCHIVIOBACKUP%
del %ARCHIVIOBACKUP%
echo Backup su Google Drive completato
endlocal

Il file deve essere salvato come batch (ad esempio google_backup.bat) e bisogna porre la massima attenzione all’impostazione delle variabili (righe 3-7 del file):

NOMEFILE: il nome dell’archivio compresso che deve essere cercato e cancellato (in tutte le copie eventualmente memorizzate) su Google Drive.
DIRBACKUP: il percorso completo della cartella contenente i file di cui creare il backup su Google Drive.
ARCHIVIOBACKUP: percorso e nome dell’archivio di backup in formato 7-Zip che deve essere creato.
GDRIVEDIR: percorso della cartella contenente Google Drive CLI Client (file gdrive.exe).
ZIPDIR: percorso della cartella in cui è installato il programma 7-Zip con il riferimento all’eseguibile 7z.exe.

Come nota finale chiariamo che anziché usare 7-Zip per cifrare i file, è possibile crittografare gli archivi compressi usano strumenti come openssl, GPG, aespipe, aescrypt o altri ancora: dovete soltanto personalizzare il file batch o adattare la procedura manuale descritta in precedenza.

Ti consigliamo anche

Link copiato negli appunti