rclone e backup su Google Drive

Disporre il backup dei dati da un sistema Linux con l'utilità rclone e usare Google Drive come destinazione.

Google Drive è un ottimo strumento per la memorizzazione dei propri backup. Nell’articolo Google Drive backup in Windows: come procedere da riga di comando abbiamo visto com’è possibile procedere per dialogare con il servizio di Google dal prompt dei comandi di Windows.

Questa volta proviamo a raggiungere il medesimo obiettivo ricorrendo alla nota utilità rclone.
Descritta come “rsync for cloud storage“, rclone si occupa di sincronizzare file e cartelle locali con tutti i principali servizi di storage cloud, Google Drive compreso.

Supponendo di utilizzare un sistema Debian o una distribuzione Linux derivata, per usare rclone per effettuare il backup dei dati su Google Drive basta seguire alcuni semplici passi.
Illustriamo una procedura di base che può essere evidentemente personalizzata e raffinata secondo le proprie necessità ed esigenze.

Per installare e configurare rclone su una distribuzione Linux Debian e derivate, ad esempio Ubuntu si dovrà innanzi tutto aprire una finestra del terminale e supponendo di aver già acquisito i privilegi root (usare eventualmente il comando sudo) digitare:

apt-get install curl -y
curl https://rclone.org/install.sh | bash
rclone config

Alla comparsa del messaggio “No remotes found – make a new one“, si dovrà premere “n” quindi il tasto Invio.
Come nome della nuova connessione remota, si può inserirne una a propria scelta, ad esempio drive.

Il lungo menu di scelta consente di selezionare a quale servizio cloud si desidera collegare rclone. Per scegliere Google Drive, basterà digitare 15 (verificare comunque il numero associato al servizio perché potrebbe essere diverso) e premere Invio.

Alla comparsa del prompt client_id premere semplicemente Invio comportandosi nello stesso modo alla successiva richiesta client_secret.

La successiva richiesta “scope” consente di indicare la “libertà d’azione” di cui potrà godere rclone sul contenuto dell’account Google. Digitando 1 e premendo Invio si darà carta bianca a rclone (accesso completo a tutti i file e cartelle).

In corrispondenza delle successive richieste (root_folder_id e service_account_file) premere solo il tasto Invio rispondendo quindi con “n” alla domanda “Edit advanced config?”

Rispondendo invece “y” al quesito “Use auto config?”, lo script di configurazione provvederà a collegare rclone con Google Drive e a generare un token autorizzativo.
Nel caso in cui il browser non dovesse aprirsi automaticamente, basterà copiare l’URL indicato e incollarlo nella barra degli indirizzi.

Inserendo le credenziali di accesso al proprio account Google, si dovrà autorizzare rclone (clic sul pulsante Consenti).

La comparsa del messaggio Success conferma che l’installazione locale di rclone è adesso collegata con l’account Google specificato.

Tornando alla finestra del terminale, si dovrà rispondere “n” al quesito “Configure this as a Shared Drive (Team drive)” quindi “y” alla richiesta “Yes, Edit, Delete“.
La procedura di installazione e configurazione di rclone sarà così completata: per uscire, basterà premere “q” e Invio.

Nel caso in cui, in futuro, si volesse revocare a rclone l’autorizzazione per accedere all’account Google, basterà visitare questa pagina quindi cliccare su Revoca accesso in corrispondenza di rclone.

Per verificare che tutto funzioni, basta digitare nella finestra del terminale:

rclone ls drive:

L’utilità rclone mostrerà in questo modo l’intero contenuto della directory radice di Google Drive. A drive dovrà essere ovviamente sostituito il nome per la connessione con Google Drive scelto in fase di configurazione di rclone.

Il comando rclone ls drive:/lavori mostrerà il contenuto della sottocartella lavori di Google Drive.

Utilizzando rclone insieme con le opzioni illustrate nella guida ufficiale pubblicata a questo indirizzo, è possibile richiedere il backup su Google Drive di qualunque tipo di contenuto.
Creando uno script con estensione .sh usando ad esempio il comando nano backup.sh, si può inserirvi quanto segue:

#!/bin/bash
/usr/bin/rclone copy --update --verbose --transfers 30 --checkers 8 --contimeout 60s --timeout 300s --retries 3 --low-level-retries 10 --stats 1s "/home/utente/Documents" "drive:/lavori"

Nell’esempio, il contenuto della cartella locale /home/utente/Documents sarà copiato nella directory lavori su Google Drive.

Lo script dovrà essere reso eseguibile utilizzando il comando chmod +x.

rclone (opzione --update) eviterà che file più recenti salvati su Google Drive rispetto a quelli in fase di caricamento dal sistema possano essere sovrascritti.

Ti consigliamo anche

Link copiato negli appunti