Come usare rclone con Windows e oltre 50 servizi cloud

Guida all'uso di rclone su Windows: un'utilità open source, completa e versatile, che permette di sincronizzare i dati con decine di servizi di cloud storage.

Chi utilizza da tempo le principali distribuzioni GNU/Linux conosce certamente l’utilità rsync. Quest’ultima è essenzialmente uno strumento di sincronizzazione file locale, spesso utilizzato per copiare e sincronizzare file tra cartelle su un singolo sistema o tra sistemi locali. rclone, invece, si concentra sulla sincronizzazione e la gestione di dati tra sistemi locali e servizi di cloud storage.

rclone è un’applicazione open source che fornisce un’interfaccia da riga di comando per gestire file memorizzati sui servizi cloud, sia i più famosi che le piattaforme meno note. Il suo nome deriva  dall’unione di “rsync” e “clone“, poiché mira a fornire funzionalità simili a rsync per la sincronizzazione di file e cartelle, ma è progettato per comunicare con i servizi cloud accessibili online. Tra i nomi più noti ci sono Google Drive, Dropbox, Amazon S3, Microsoft OneDrive, Box ma l’elenco completo è disponibile nella pagina Supported providers.

L’utilità offre opzioni per crittografare i dati durante la trasmissione e/o nel cloud storage remoto, fornendo un elevato livello di sicurezza. Inoltre, cosa non comune, può essere utilizzata per trasferire direttamente i dati tra due servizi cloud senza passare attraverso l’archiviazione locale. È un vantaggio non da poco perché evita di dover effettuare una procedura di download e poi un ulteriore upload con la banda, di solito più stretta, delle connessioni localmente disponibili (non tutti dispongono di connettività in fibra FTTH a 1 Gbps o più oppure FTTC da 200 Mbps).

A questo proposito, comunque, rclone è capace di ottimizzare le operazioni di trasferimento dati per ridurre i tempi di attesa e l’utilizzo della banda di rete.

Molto interessante, inoltre, la disponibilità dell’opzione --dry-run, che consente di visualizzare in anticipo i risultati del comando rclone impostato e ridurre il rischio di eliminare file cruciali.

Come installare rclone in Windows

In passato abbiamo già visto come fare backup e sincronizzazione dei dati su Linux usando proprio rclone. Questa volta ci concentriamo sull’utilizzo di Windows e ampliamo il “raggio d’azione” a tutti i servizi di cloud storage disponibili sul mercato.

Il package manager ufficiale Microsoft, ovvero winget, aiuta a installare automaticamente applicazioni in Windows e dà modo di predisporre rclone in un battito di ciglia. Basta aprire una finestra di PowerShell in Windows 10 o in Windows 11 (lo si può fare premendo Windows+X quindi scegliendo Windows PowerShell oppure Terminale) quindi impartire l’istruzione seguente:

winget install Rclone.Rclone

rclone: installazione in Windows con PowerShell

Una volta completata l’installazione di rclone in Windows, basta scrivere il comando che segue per avviare la configurazione del programma:

rclone config

Premendo il tasto n quindi Invio, si richiede la configurazione di un nuovo profilo per il backup e la sincronizzazione dei dati sul cloud. Si può specificare un nome che sia descrittivo dell’operazione di sincronizzazione dati che si sta impostando.

Scegliere il servizio di cloud storage da utilizzare con rclone

rclone mostra una lunga lista di piattaforme cloud con le quali può dialogare: ognuna di esse è contraddistinta da un codice numerico (ad esempio, Google Drive è il 18; OneDrive corrisponde al numero 34; Dropbox al 13).

Selezione servizio storage cloud per backup e sincronizzazione

Proseguendo, in corrispondenza delle richieste client_id e client_secret è per il momento possibile premere Invio, lasciando vuoti entrambi i campi.

Credenziali rclone cloud

Le richieste successive differiscono sulla base del provider cloud scelto e hanno a che fare, ad esempio, con i diritti d’accesso o con la selezione della regione in cui si trovano i data center.

Alla comparsa del messaggio “User web browser to automatically authenticate rclone with remote?”, è bene premere Y quindi autorizzare l’autenticazione da parte di rclone tramite browser Web. Nell’esempio in figura, stiamo chiedendo l’accesso a OneDrive.

Autenticazione browser Web rclone

Assegnazione dei privilegi di accesso a rclone, tramite browser Web

Microsoft (così come qualunque altro servizio di cloud storage) chiede conferma che rclone possa interagire con tutti i dati memorizzati sui suoi server. Con un clic su Accetta, rclone è automaticamente inserito nell’elenco delle app connesse al proprio account. L’autorizzazione può essere eventualmente revocata in seguito utilizzando la pagina dedicata “App e servizi a cui hai concesso l’accesso“.

rclone, autenticazione Web

Dopo la comparsa del messaggio “Success!” lato browser, è possibile concludere la configurazione tramite la finestra PowerShell. Alla richiesta “Keep this “NomeCloud” remote” si può semplicemente premere Invio per accettare il token impostato. La pressione di Invio equivale all’introduzione di Y.

Al posto di NomeCloud, rclone visualizza il nome assegnato all’inizio alla procedura di backup e sincronizzazione. Per uscire dalla configurazione, basta premere il tasto q (Quit) quindi Invio.

Come usare rclone per il backup e la sincronizzazione

Digitando semplicemente rclone ls NomeCloud: e premendo Invio, l’utilità mostra tutto il contenuto della cartella remota ospitata sul servizio di storage cloud. Non dimenticare i due punti finali, sostituendo a NomeCloud, il nome della condivisione creata in precedenza.

Elencare file remoti cloud storage

Utilizzando PowerShell o la classica interfaccia di Esplora file di Windows, è a questo punto possibile creare una cartella il cui contenuto sarà sincronizzato sul cloud.

Creiamo ad esempio la cartella c:\backup-sync (da PowerShell o dal prompt dei comandi, basta digitare md c:\backup-sync e premere Invio). Proviamo quindi a salvarvi un file. Si può cominciare creando, nella cartella locale c:\backup-sync, un file di testo di prova. Ad esempio TEST-SYNC.txt con il testo test sincronizzazione al suo interno.

Digitiamo quindi il comando seguente per creare una cartella di backup e sincronizzazione sul servizio di cloud storage remoto:

rclone mkdir NomeCloud:backup-sync

Al solito, al posto di NomeCloud, deve essere indicato il nome della condivisione, così come precedentemente specificata in rclone. Nel comando di esempio, si richiede la creazione di una cartella chiamata backup-sync sul servizio cloud. Accedendo da Web all’interfaccia del servizio di cloud storage, si vedrà immediatamente comparire il riferimento alla nuova cartella appena creata.

Cartella creata cloud storage

Provare la sincronizzazione da locale a cloud remoto: ecco il semplice comando da utilizzare

Un comando semplicissimo, che prevede l’aggiunta dell’opzione --dry-run citata in apertura, consente di verificare quali file saranno copiati sul cloud, senza dare il via all’operazione vera e propria. L’istruzione seguente dà modo di controllare cosa succederà, successivamente, non appena si andrà a confermare il trasferimento dati:

rclone sync --dry-run c:\backup-sync NomeCloud:backup-sync

Al posto di NomeCloud:backup-sync vanno ovviamente specificati il nome della condivisione e la cartella remota che accoglierà i file. Il percorso c:\backup-sync deve invece essere rimpiazzato con il nome della cartella locale contenente i file da trasferire.

Per autorizzare la sincronizzazione vera e propria, basta ovviamente togliere il riferimento all’opzione --dry-run:

rclone sync c:\backup-sync NomeCloud:backup-sync

Sincronizzare da cloud al sistema locale

La sincronizzazione dei dati può avvenire anche nell’altra direzione ovvero dal servizio di cloud storage al sistema locale. La sintassi è simile a quella vista in precedenza, con la differenza che l’ordine delle cartelle deve essere invertito. I due comandi precedenti si trasformano quindi nei seguenti:

rclone sync --dry-run NomeCloud:backup-sync c:\backup-sync

rclone sync NomeCloud:backup-sync c:\backup-sync

Come si vede, infatti, in prima posizione è indicata l’origine dei dati (il cloud), a seguire la cartella locale, destinazione dei file e delle informazioni memorizzate sui server remoti.

Come richiedere una sincronizzazione bidirezionale

Abbinando i comandi visti in precedenza, è possibile attivare una sincronizzazione bidirezionale dei dati tra la directory locale e il sistema cloud remoto. I file nuovi o modificati sono quindi copiati in entrambe le direzioni.

rclone supporta inoltre sintassi più complesse. Nell’esempio che segue, il contenuto della directory locale è sincronizzato con il sistema remoto, escludendo i file con estensione .tmp e limitando la larghezza di banda a 2 Mbps:

rclone sync --exclude '*.tmp' --bwlimit 2M c:\backup-sync NomeCloud:backup-sync

Prima di usare rclone “in produzione”, il nostro suggerimento è quello di impratichirvi con il suo utilizzo e simulare vari scenari. Non prima di aver attivato strumenti di backup locali e sul cloud, così da scongiurare qualunque rischio di perdita di dati.

rclone compatibile anche con FTP/SFTP, WebDAV, SMB e S3

Vale la pena osservare che rclone è talmente flessibile e versatile, che tra i servizi remoti supportati non ci sono soltanto piattaforma di cloud storage. L’applicazione, ad esempio, può interfacciarsi con server FTP/SFTP, con sistemi basati sul protocollo WebDAV, con le cartelle condivise utilizzando SMB/CIFS.

Ancora, rclone è capace di interfacciarsi con qualunque piattaforma S3-compatibile. Certamente in grado di appoggiarsi ai bucket creati su Amazon/AWS S3, il programma può interfacciarsi anche con Cubbit, soluzione cloud geo-distribuita tutta italiana. Cubbit aiuta a migrare i dati da on-premises al cloud, in totale sicurezza, rispettando le vigenti normative e le disposizioni in materia di conformità.

Credit immagine in apertura: iStock.com – Sakorn Sukkasemsakorn

Ti consigliamo anche

Link copiato negli appunti