Usa rclone per sincronizzare con Dropbox (2025)

Amministratori e moderatori: sentitevi liberi di spostare questo argomento altrove o di modificarlo se necessario.

Queste sono istruzioni dettagliate, passo dopo passo, su come ho installato rclone e configurato tutto per eseguire il backup del mio Discourse su Dropbox. Per gli utenti di Google Drive, credo che la maggior parte di questi passaggi si applicherà anche a loro.

Ho seguito alcune delle istruzioni originariamente fornite da Christoph (@tophee) qui:

Dato che non sono affatto un esperto, mi sono sembrate molto limitate e alla fine avrei fallito, quindi ho chiesto aiuto a ChatGPT e ora funziona tutto! Ho documentato tutto, passo dopo passo, per coloro che probabilmente non sono utenti avanzati come me e hanno bisogno di una mano in più lungo il percorso.

:one: Installa rclone da remoto e preparati per Dropbox

Connettiti via SSH al tuo server:

ssh root@xxx.xxx.xxx.xxx

Quando sei sul tuo server:

root@ServerNameHere:~#

Installa rclone:

sudo curl https://rclone.org/install.sh | sudo bash

Se ha successo, esegui:

sudo rclone config

Quando mostra:

2025/08/13 11:29:31 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> 

… digita n. Premi Invio.

Quando viene presentato con:

Enter name for new remote.
name> 

Dagli un nome, ad esempio dropbox_backup. Premi Invio.

Ti mostrerà un elenco in rosso e verde (a me lo ha mostrato), e una di quelle opzioni è Dropbox. Ogni opzione ha un numero associato. Il mio era:

14 / Dropbox
   \ (dropbox)

In basso, dove dice Storage>, aggiungi il numero per Dropbox. Quindi, nel mio caso, ho ottenuto Storage>14. Premi Invio.

Mostrerà:

Option client_id.
OAuth Client Id.
Leave blank normally.
Enter a value. Press Enter to leave empty.
client_id> 

Premi semplicemente Invio per lasciarlo vuoto. Fai lo stesso quando mostra:

Option client_secret.
OAuth Client Secret.
Leave blank normally.
Enter a value. Press Enter to leave empty.
client_secret> 

Quando mostra:

Edit advanced config?
y) Yes
n) No (default)
y/n> 

Digita n e premi Invio.

Quando mostra:

Use web browser to automatically authenticate rclone with remote?
 * Say Y if the machine running rclone has a web browser you can use
 * Say N if running rclone on a (remote) machine without web browser access
If not sure try Y. If Y failed, try N.

y) Yes (default)
n) No
y/n> 

Digita n e premi Invio.

Quando mostra:

Option config_token.
For this to work, you will need rclone available on a machine that has
a web browser available.
For more help and alternate methods see: https://rclone.org/remote_setup/
Execute the following on the machine with the web browser (same rclone
version recommended):

	rclone authorize "dropbox"
Then paste the result.
Enter a value.
config_token> 

:stop_sign: Fermati!

:two: Installa rclone localmente e autorizza Dropbox

Installa rclone sul tuo computer. Nel mio caso, ho aperto una nuova finestra del Terminale sul mio Mac in modo da poter installare rclone senza interferire con il processo precedente, perché devo continuare dopo aver ottenuto il token di Dropbox.

Ho prima controllato se lo avevo installato sul mio Mac eseguendo:

rclone version

Non lo avevo, quindi ho dovuto installarlo. Nel mio caso particolare, sto usando MacPorts, perché Homebrew non funziona bene con Catalina; scegli la tua opzione preferita.

Comando Homebrew:

brew install rclone

Comando MacPorts:

sudo port install rclone

Una volta installato, nella stessa finestra, esegui:

rclone authorize "dropbox"

Questo nome dropbox NON è correlato al nome dropbox_backup che abbiamo scelto in precedenza.

Una volta eseguito, il browser aprirà la finestra di autorizzazione.
Se non lo fa, incolla questo URL nel tuo browser: http://127.0.0.1:53682/auth (secondo queste istruzioni).

Accedi a Dropbox. Fai clic sul pulsante Allow. Se tutto va bene, riceverai il messaggio:

Success!
All done. Please go back to rclone.

Chiudi quella finestra.

:three: Completa la configurazione di Dropbox

Torna a Terminale, e ti mostrerà un lungo token (sarà lunghissimo, qui l’ho solo accorciato):

{"access_token":"sl.u.AF5VJTs.................ZvNhniOToyQG","token_type":"bearer","refresh_token":"jygyhExsHRgAAAAAAAAAAfeHd8D0l5jzLvuiZ1onH2nXP2YeC2ycrbm5eQ5Y3uc6","expiry":"2025-08-13T16:58:41.072138+01:00","expires_in":14400}

Copia tutto, dall’apertura della parentesi graffa { alla chiusura }, comprese le parentesi stesse, e incollalo nell’altra finestra:

Option config_token.
For this to work, you will need rclone available on a machine that has
a web browser available.
For more help and alternate methods see: https://rclone.org/remote_setup/
Execute the following on the machine with the web browser (same rclone
version recommended):

	rclone authorize "dropbox"
Then paste the result.
Enter a value.
config_token> PASTE_TOKEN_HERE

Premi Invio.

Se tutto ha successo, vedrai qualcosa di simile a:

Configuration complete.
Options:
- type: dropbox
- token: {"access_token":"sl.u.AF5VJTs7..........ToyQG","token_type":"bearer","refresh_token":"jygyhExsHRgAAAAAAAAAAfeHd8D0l5jzLvuiZ1onH2nXP2YeC2ycrbm5eQ5Y3uc6","expiry":"2025-08-13T16:58:41.072138+01:00","expires_in":14400}
Keep this "dropbox_backup" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> 

Scegli y per mantenerlo. Questo salverà il remoto come dropbox_backup sul tuo server, e potrai usarlo per i comandi rclone. Premi Invio.

Mostrerà:

Current remotes:

Name                 Type
====                 ====
dropbox_backup       dropbox

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> 

Digita q per uscire dalla configurazione. Il tuo remoto dropbox_backup è ora pronto per l’uso. Premi Invio.

Mentre sei ancora in root@, esegui rclone lsd dropbox_backup:
Questo elencherà tutte le directory di primo livello nel tuo Dropbox per confermare che la connessione funzioni.

:four: Backup

:keyboard: Manuale

Per eseguire il backup manualmente, supponendo che tu abbia una configurazione tipica (non una configurazione a due container), esegui:

sudo rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ dropbox_backup:backups
  • /var/discourse/shared/standalone/backups/default → cartella sorgente sul tuo server (confermo che questo percorso è accurato su una configurazione tipica – non una configurazione a due container – almeno fino ad agosto 2025).
  • --exclude tmp/ → salta i file temporanei.
  • dropbox_backup:backups → nome del remoto (dropbox_backup) e cartella in Dropbox (backups).

Questo caricherà tutti i file di backup (eccetto tmp/) sul tuo Dropbox, in una cartella chiamata backups, usando quel nome che abbiamo scelto in precedenza: dropbox_backup.

Se desideri una cartella con spazi, ad esempio Discourse Backups, esegui invece questo:

sudo rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ "dropbox_backup:Discourse Backups"

Se tutto va come previsto, ora vedrai una cartella Discourse Backups (o qualsiasi nome tu abbia scelto) nel tuo Dropbox con tutti i tuoi file di backup.

Dato che sei arrivato fin qui, procedi e chiudi la seconda finestra del Terminale, quella utilizzata per installare rclone sul tuo computer, per evitare qualsiasi confusione in futuro.

:alarm_clock: Cron job

Ora, creiamo un cron job per automatizzare questo processo:

crontab -e

Ti verrà presentato con:

no crontab for root - using an empty one
Select an editor.  To change later, run select-editor again.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: 

Scegli 1. Premi Invio.

Vedrai qualcosa di simile a:

# Edit this file to introduce tasks to be run by cron.
# 
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
# 
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
# 
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
# 
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
# 
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
# 
# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command

Alla fine di tutto questo, aggiungi il cron job. Per copiare i backup ogni giorno alle 18:00, aggiungi quanto segue:

0 18 * * * rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ "dropbox_backup:Discourse Backups"

Quindi la tua “lista” finirà con:

(TESTO INIZIALE QUI)

# m h  dom mon dow   command

0 18 * * * rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ "dropbox_backup:Discourse Backups"

Premi Ctrl+X. In fondo alla finestra, ti chiederà di salvare. Premi Y e poi Invio.

Hai finito!

Puoi eseguire il cron job più frequentemente se lo desideri, poiché verranno copiati solo i nuovi file.

Nota che l’opzione copy aggiungerà sempre più backup al tuo Dropbox anche quando quelli sul tuo server vengono eliminati. Se vuoi conservare solo quelli che vengono conservati anche sul tuo server, usa sync invece di copy.

5 Mi Piace

Grazie, è stato molto utile. Ora ho rclone e Dropbox collegati, come posso collegare Dropbox al mio Plex?

A volte mi chiedo se il comando sync non dovrebbe essere usato invece di copy negli esempi di quei tutorial (pensando anche a Use rclone to sync backups to Dropbox or Google Drive), e menzionare il comando copy come un’altra opzione, perché non so perché qualcuno preferirebbe usare copy invece di sync a meno che non abbia spazio illimitato :thinking:

Per tutto ciò che faccio, mi piace conservare più backup nel caso in cui qualcosa vada storto, almeno per un po’. Avere più copie mi dà un po’ di tranquillità. Avere una copia singola mi rende nervoso :wink: