rclone/slides.md
2025-05-09 08:53:30 +02:00

4.5 KiB
Executable File

marp, theme, author, title, style, paginate, footer
marp theme author title style paginate footer
true kant Paolo Asperti rclone: cosa è e cosa può fare per noi div.columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } true Linux Day 2025 SE - 10/05/2025 - Mantova

rclone

cosa è e cosa può fare per noi

Paolo Asperti

 

Linux Day 2025 Spring Edition

Creative LAB, Lunetta (MN) — 10 maggio 2025

height:2cm BgLUG

Agenda

  • che roba è
  • differenze rispetto a rsync
  • storage systems supportati
  • note su installazione
  • configurazione
  • utilizzo di base (+DEMO)
  • funzionalità avanzate (+DEMO)
  • server / webgui (+DEMO)
  • casi d'uso

che roba è

Rclone è un tool che ha lo scopo di sincronizzare una directory locale con un repository remoto. Pensiamolo come un rsync che al posto di avere solo ssh può utilizzare svariati servizi cloud.


differenze rispetto a rsync

  • rsync parla solo con rsync (locale o tramite ssh)
  • può fare sync anche tra 2 repository remoti
  • multithreaded
  • rclone: file level / rsync: block level

storage systems supportati

  • S3 compatibili
  • FTP / webdav
  • nextcloud / owncloud
  • SFTP
  • SMB / CIFS
  • mille altri vendor-specific

installazione

Sebbene sia incluso in praticamente tutti i sistemi operativi, alcuni utilizzano versioni piuttosto datate.

(ad esempio debian 12 e ubuntu 22.04 usano rclone 1.60.1, datata 2022)


configurazione

rclone permette di avere molti repository configurati in un unico file di configurazione.

Normalmente è possibile copiare questo file di configurazione su un'altra macchina per avere accesso ai medesimi repository.

In alcuni casi le password sono offuscate, per scoraggiare i curiosoni; questo non è chiaramente un metodo per salvare i segreti in maniera sicura.

Demo: configurazione di un remoto


mount

E' possibile montare un remoto su una cartella locale.

Il processo di rclone deve rimanere attivo.

Demo: montaggio di un remoto


ncdu

  • per rispondere alla domanda: "ma cosa sta consumando tutto questo spazio?"
  • per controllare rapidamente se la configurazione di un remoto è corretta

Demo: ncdu


sync

Siete qui per questo

Demo: sync


compressione

Prima si crea la configurazione di uno storage remoto e poi si applica sopra a questa un layer di compressione. In pratica è un nuovo remoto che si appoggia ad un remoto esistente. Al momento, il solo metodo di compressione supportato è gzip.


crittografia (client-side encryption)

Come per la compressione, prima si crea la configurazione di uno storage remoto e poi si applica sopra a questa un layer di crittografia.

note:

  • è possibile scegliere se crittografare i nomi di files e directory o meno
  • i nomi dei files crittografati hanno un limite di lunghezza
  • il timestamp di modifica dei files non è crittografato (ed è usato per la sincronizzazione)
  • la dimensione dei files non è crittografata
  • usando la crittografia, non vengono salvati gli hash dei files

combine (unione di più remoti)

Serve a creare un remoto in cui altri remoti sono visibili attraverso sottocartelle.

Demo: combine di più remoti


union

A differenza di combine, qui i remoti sono sovrapposti; il risultato è che l'elenco dei files è la "somma" dei remoti combinati.

A volte è poco intuitivo capire dove vanno a finire i files scritti.

Demo: union di più remoti


rcd e web gui

Il server rcd è comodo anche solo per configurare...

Fondamentalmente si usa per spostare in remoto le varie operazioni.

Ascolta su un socket o su una porta (default: http://localhost:5572/).

Demo: rcd


server (webdav/sftp/...)

Serve il contenuto di un remoto via http sulla porta 8080 (default)

Demo: serve http


server (volumi docker)

Utilizza un remoto come storage per il provisioning di volumi docker

Demo: serve docker


esempi di utilizzo

  • montaggio cartella remota compressa e crittografata
  • mysqldump pippato su rclone
  • backup in docker compose

Demo: casi d'uso


Riferimenti

Queste slides saranno presto disponibili sul sito BgLUG:

https://bglug.it/