Gdrive — client da riga di comando per Google Drive su Linux

Introduzione
Google Drive è uno dei servizi di cloud storage più diffusi, ma non esiste (al momento) un client ufficiale completo per tutte le distribuzioni Linux. La comunità open source però ha sviluppato numerosi client non ufficiali: uno di questi è Gdrive, uno strumento da riga di comando semplice e leggero che permette di eseguire le operazioni principali su Drive direttamente dal terminale.
Questa guida descrive come scaricare, installare, autenticare e usare Gdrive. Le istruzioni e i comandi illustrati sono stati verificati su Ubuntu 16.04, ma molte indicazioni sono valide anche su altre distribuzioni Linux moderne.
Importante: termini chiave
- Token: file che autorizza Gdrive ad accedere al tuo account Google senza richiedere le credenziali ogni volta.
- OAuth2: il protocollo di autorizzazione usato da Google per concedere l’accesso alle app senza condividere la password.
Cos’è Gdrive
Gdrive è un eseguibile che comunica con le API di Google Drive e ti permette di elencare, caricare, scaricare, condividere e ottenere informazioni sui file usando comandi da terminale. Non ha interfaccia grafica: tutte le operazioni si eseguono tramite comandi.
Vantaggi principali
- Leggero e semplice da installare.
- Adatto a script e automazioni (cron, CI/CD, backup).
- Comandi facilmente memorizzabili.
Limiti noti
- L’implementazione corrente può risultare lenta e consumare più memoria rispetto ad alcune alternative.
- Non è sviluppato dal team ufficiale di Google: il supporto e le feature dipendono dai contributori del progetto.
Scaricare, installare e configurare Gdrive
Passaggi principali:
- Scarica l’eseguibile corrispondente all’architettura della tua macchina dalla pagina GitHub del progetto.
- Rendi il file eseguibile e spostalo o crea un symlink in una cartella del PATH (ad es. /usr/local/bin).
- Autentica Gdrive con il tuo account Google seguendo la procedura OAuth2 mostrata a terminale.
Esempio pratico: file scaricato e permessi
Se hai scaricato un file chiamato gdrive-linux-386 (32 bit), assicurati che sia eseguibile:
chmod +x gdrive-linux-386
Per rendere l’uso più comodo, sposta l’eseguibile in /usr/local/bin e rinominalo in gdrive:
sudo mv gdrive-linux-386 /usr/local/bin/gdrive
sudo chown root:root /usr/local/bin/gdrive
sudo chmod 0755 /usr/local/bin/gdrive
Su sistemi a 64 bit il nome del file può essere qualcosa come gdrive-linux-amd64: adatta il comando di conseguenza.
Autenticazione iniziale
Per permettere a Gdrive di accedere al tuo Drive esegui:
./gdrive about
Il comando stamperà un URL. Apri l’URL nel browser, accedi con l’account Google da autorizzare e clicca su “Allow” (Consenti). Verrà generato un codice di verifica che dovrai inserire nel terminale. Dopo l’inserimento, Gdrive salverà un token nella cartella .gdrive nella tua home.
Importante:
L’autenticazione crea un file di token nella cartella ~/.gdrive. Chiunque abbia accesso a questo file può accedere al tuo Drive. Proteggi la tua home e, se necessario, imposta permessi restrittivi:
chmod 0700 ~/.gdrive
.
Suggerimenti per una installazione robusta
- Verifica l’architettura del sistema con
uname -m
prima di scaricare l’eseguibile. - Controlla la pagina GitHub per eventuali checksum (SHA256) e verifica l’integrità del file scaricato usando
sha256sum
. - Se prevedi di usare Gdrive in script automatizzati, mantieni il token sotto controllo e configura backup sicuri per la cartella .gdrive.
Comandi di base
Di seguito i comandi più usati, con esempi e spiegazioni in italiano. Nei comandi seguenti si assume che l’eseguibile si chiami gdrive
e sia raggiungibile nel PATH; se usi il file scaricato nella directory corrente, sostituisci gdrive
con ./gdrive-linux-386
come negli esempi originali.
Elencare il contenuto
Per elencare file e cartelle:
gdrive list
Per limitare il numero di risultati (default 30) usa il flag -m
:
gdrive list -m 10
Per filtrare i risultati puoi usare --query
, ad esempio per cercare file che contengono “gmail” nel nome:
gdrive list -m 10 --query "name contains 'gmail'"
Esempio di output:
Caricare e scaricare file
Caricare un file nella radice del Drive:
gdrive upload nomefile.ext
Caricare un file in una cartella specifica (usando l’ID della cartella):
gdrive upload --parent ID_cartella nomefile.ext
Creare una nuova cartella:
gdrive mkdir nome-cartella
Scaricare un file in locale:
gdrive download ID_o_nomefile
Flag utili per upload/download:
-f
: forza la sovrascrittura di un file esistente con lo stesso nome.-r
: scarica/carica cartelle ricorsivamente.--delete
: dopo il download elimina il file remoto.
Questi flag possono combinarsi: ad esempio gdrive download -r --delete ID_cartella
scarica ricorsivamente la cartella e la rimuove da Drive dopo il completamento.
Condividere file
Per rendere un file leggibile da chiunque:
gdrive share ID_file
Per condividere con un utente specifico e inviare l’invito a un’email:
gdrive share ID_file --type user --email [email protected]
Per specificare il ruolo (permessi) aggiungi --role
con uno dei valori: owner
, writer
, commenter
, reader
.
Esempio di condivisione con permessi di scrittura:
gdrive share ID_file --type user --email [email protected] --role writer
Mostrare informazioni su un file
Per ottenere metadati e informazioni dettagliate su un file:
gdrive info ID_file
Esempio di output:
Esempi avanzati e script di automazione
Ecco alcuni snippet utili per integrare Gdrive in script o job pianificati.
Backup incrementale di una cartella locale:
#!/bin/bash
# backup-gdrive.sh
SOURCE_DIR="/home/utente/documenti"
ARCHIVE="backup-$(date +%F).tar.gz"
tar -czf /tmp/$ARCHIVE -C "$SOURCE_DIR" .
gdrive upload --parent ID_cartella_backup /tmp/$ARCHIVE && rm /tmp/$ARCHIVE
Script per sincronizzazione minima (upload solo file nuovi):
#!/bin/bash
for f in /home/utente/sync/*; do
if [ -f "$f" ]; then
# verifica esistenza basata sul nome
if ! gdrive list --query "name = '$(basename "$f")'" | grep -q "Id"; then
gdrive upload "$f"
fi
fi
done
Pianifica con cron (esempio: esegue ogni giorno alle 02:30):
30 2 * * * /usr/local/bin/backup-gdrive.sh >> /var/log/gdrive-backup.log 2>&1
Note pratiche sugli script
- Gestisci i log e gli errori: controlla l’output e notifica via email o sistema di monitoraggio in caso di fallimenti.
- Evita di includere credenziali sensibili negli script; affida l’autenticazione al token memorizzato in ~/.gdrive.
Sicurezza, privacy e GDPR
- Il token di autenticazione è sensibile. Imposta permessi stretti
chmod 0700 ~/.gdrive
e limita l’accesso all’utente. - Se lavori con dati personali, verifica la conformità GDPR della tua procedura di backup e archiviazione.
- Se il token viene compromesso, elimina il file token e ripeti la procedura di autorizzazione dal browser per revocare l’accesso.
- Non includere il token in repository o backup pubblici.
Risoluzione dei problemi comuni
Problema: “Authentication required” o token non valido
- Esegui
gdrive about
e ripeti la procedura di autorizzazione. - Elimina la cartella
~/.gdrive
e riautentica.
Problema: errori di permessi (EACCES)
- Controlla che l’eseguibile abbia permessi eseguibili (
chmod +x /usr/local/bin/gdrive
). - Assicurati che lo user che esegue gli script abbia accesso a ~/.gdrive.
Problema: upload lento o consumo elevato di memoria
- Gdrive non è ottimizzato per carichi massivi; valuta l’uso di strumenti più performanti se devi sincronizzare grandi quantità di dati.
Quando Gdrive non è la scelta giusta
- Hai bisogno di sincronizzazione bidirezionale continua e trasparente (come una cartella montata): considera client con integrazione desktop o soluzioni come rclone con mount.
- Gestisci milioni di file o grandi dataset: Gdrive può risultare inefficiente; strumenti enterprise o API personalizzate potrebbero essere più adatti.
Alternative e confronto rapido
- rclone: client versatile con supporto a molteplici provider cloud, ottimo per sincronizzazioni e mount, più flessibile per automazioni complesse.
- drive (altro progetto CLI): offre comandi simili ma con implementazioni e comportamento diversi; controlla le feature prima di scegliere.
- Insync / OverGrive: client commerciali con interfaccia grafica, sincronizzazione automatica e funzionalità avanzate a pagamento.
Scelta in base al bisogno
- Script e task batch: Gdrive o rclone vanno bene.
- Sincronizzazione in tempo reale e interfaccia desktop: Insync o client ufficiali (se disponibili).
- Ampi volumi di dati o requisiti enterprise: valutare soluzioni dedicate.
Checklist per ruoli
Per utente singolo
- Scaricato eseguibile corretto.
- Autenticazione completata e token al sicuro.
- Test upload/download riusciti.
Per amministratore di sistema
- Installato in /usr/local/bin con permessi corretti.
- Script di backup automatizzati con rotazione log.
- Procedure di recovery e revoca token documentate.
Per sviluppatore/CI
- Token separato per ambiente CI (se necessario) con permessi limitati.
- Test automatici per verificare disponibilità API.
- Gestione degli errori e retry implementata.
Casi di test e criteri di accettazione
- Installazione:
gdrive --version
deve restituire la versione installata. - Autenticazione:
gdrive about
non deve chiedere nuovamente credenziali dopo la prima autorizzazione. - Upload/Download: caricare, scaricare e confrontare checksum locali per verificare integrità.
- Condivisione:
gdrive share
deve aggiornare i permessi egdrive info
deve riflettere il cambiamento.
Conclusione
Gdrive è una soluzione pratica e leggera per gestire Google Drive da terminale su Linux. È particolarmente utile per script, automazioni e utenti che preferiscono lavorare in CLI. Tuttavia, per esigenze di performance elevate o sincronizzazione continua su larga scala, è consigliabile valutare alternative come rclone o client commerciali.
In sintesi: se cerchi semplicità e integrazione con script, prova Gdrive; per esigenze più complesse confronta strumenti alternativi.
Riepilogo rapido
- Installazione: scarica l’eseguibile, rendilo eseguibile, spostalo in /usr/local/bin.
- Autenticazione: esegui
gdrive about
, visita l’URL e incolla il codice. - Operazioni:
list
,upload
,download
,share
,info
. - Sicurezza: proteggi
~/.gdrive
, non condividerlo.
Note finali
Consulta sempre la pagina ufficiale del progetto su GitHub per aggiornamenti, issue aperte e istruzioni dettagliate. Le procedure qui descritte mirano a fornire una base solida di partenza per usare Gdrive in modo sicuro ed efficace.
Materiali simili

Proteggere account Gmail: cosa fare se sei hackerato

Siti indispensabili per crescere come freelance

wget: installare, risolvere errori e usare su Windows e Mac

Proteggi i dispositivi Apple in Canada: guida pratica

Trovare contatti da un canale YouTube
