.## 1. Introduzione
- 1 2. Installare rsync su Ubuntu
- 2 3. Uso base di rsync
- 3 4. Sincronizzazione con server remoti
- 4 5. Opzioni utili di rsync ed esempi pratici
- 5 6. Strumento GUI: Grsync
- 6 7. Problemi comuni e soluzioni
- 7 8. FAQ
- 7.5.1 Q1. Come posso preservare proprietà e permessi?
- 7.5.2 Q2. Come posso escludere file specifici?
- 7.5.3 Q3. Come limitare l’uso della larghezza di banda?
- 7.5.4 Q4. Posso visualizzare in anteprima le azioni prima dell’esecuzione?
- 7.5.5 Q5. I file nascosti vengono copiati?
- 7.5.6 Q6. Qual è la differenza tra rsync e scp?
- 8 9. Riepilogo
Cos’è rsync?
rsync è uno strumento da riga di comando progettato per la sincronizzazione e la copia rapida ed efficiente di file e directory. È ampiamente usato su sistemi Linux e Unix‑like e, grazie al suo algoritmo di trasferimento delta, trasferisce solo le differenze tra sorgente e destinazione. Questo lo rende molto efficiente anche quando si gestiscono grandi quantità di file. Su Ubuntu e molte altre distribuzioni Linux, rsync è spesso installato di default, rendendolo uno strumento essenziale per amministratori di sistema e sviluppatori.
Vantaggi dell’uso di rsync su Ubuntu
Su Ubuntu, rsync è estremamente efficace per i backup quotidiani di file e per le attività di sincronizzazione di directory. Senza fare affidamento su interfacce grafiche, è possibile ottenere trasferimenti di file rapidi — sia locali che remoti — semplicemente inserendo pochi comandi nel terminale.
È particolarmente utile nelle seguenti situazioni:
- Backup regolari su HDD esterni o dispositivi NAS
- Sincronizzazione di cartelle di progetto durante lo sviluppo
- Distribuzione di file su server remoti
- Miglioramento della disponibilità tramite mirroring di file
Come rsync differisce da altri comandi
Rispetto al comando cp, rsync trasferisce solo le differenze tra sorgente e destinazione, riducendo notevolmente i tempi di elaborazione. Rispetto a scp, rsync offre la possibilità di riprendere il trasferimento dopo errori e un controllo flessibile della larghezza di banda. Inoltre, può preservare gli attributi dei file come proprietà, permessi e timestamp, il che rappresenta un vantaggio importante.
Scopo di questo articolo
Questo articolo spiega come installare e utilizzare efficacemente rsync in un ambiente Ubuntu, con esempi pratici di comandi e casi d’uso reali. Per garantire che i principianti possano iniziare senza difficoltà, vengono inoltre trattati gli strumenti GUI e i consigli per la risoluzione dei problemi, imparando rsync passo dopo passo.
2. Installare rsync su Ubuntu
Verifica se rsync è preinstallato
Nella maggior parte degli ambienti Ubuntu, rsync è già installato di default. È possibile verificare la sua disponibilità con il seguente comando:
rsync --version
Se viene visualizzata l’informazione sulla versione, rsync è già installato e pronto all’uso.
Installare rsync se non è installato
Se compare un messaggio come “command not found” o “rsync: command not found”, segui questi passaggi per installarlo:
- Aggiorna l’elenco dei pacchetti:
sudo apt update
- Installa rsync:
sudo apt install rsync
- Verifica l’installazione:
rsync --version
Se appare l’informazione sulla versione, l’installazione è avvenuta con successo.
È necessario installare via Snap o altri metodi?
Su Ubuntu, l’installazione di rsync tramite APT è l’approccio più consigliato. Sebbene esistano pacchetti Snap, la versione APT è generalmente sufficiente e offre maggiore stabilità e compatibilità per gli usi tipici. A meno che non ci sia una ragione specifica, APT è il metodo preferito.
Note sull’installazione
- Su versioni più vecchie di Ubuntu potrebbero essere necessari aggiornamenti dei repository.
- Sono necessari privilegi di root, quindi non dimenticare di usare
sudo. - Connessioni di rete instabili possono causare errori di installazione; è consigliata una connessione stabile.
3. Uso base di rsync
Sintassi base di rsync
La sintassi del comando rsync è semplice ma molto flessibile. La forma base è:
rsync [options] source destination
Ad esempio, per copiare il contenuto di /home/user/documents/ in /mnt/backup/:
rsync -av /home/user/documents/ /mnt/backup/
Questo comando utilizza le seguenti opzioni:
-a: modalità archivio (preserva struttura delle directory, permessi, proprietà, ecc.)-v: output verboso (mostra quali file vengono copiati)
Comportamento della barra finale
In rsync, includere o meno la barra finale nel percorso di origine cambia il comportamento:
/home/user/documents/(con barra) → Vengono copiati solo i contenuti./home/user/documents(senza barra) → Viene copiata l’intera directory.
Questo è un comportamento specifico di rsync critico che dovrebbe essere usato in modo appropriato a seconda del tuo obiettivo.
Opzioni comunemente usate
| Option | Description |
|---|---|
-a | Archive mode (recursive and preserves attributes) |
-v | Displays detailed transfer output |
-n | Dry run (shows what would happen without executing) |
--progress | Shows transfer progress |
--delete | Deletes files in the destination that no longer exist in the source |
Anteprima delle azioni prima dell’esecuzione
Per verificare cosa farà rsync prima di trasferire effettivamente i file, usa l’opzione --dry-run:
rsync -av --dry-run /home/user/documents/ /mnt/backup/
Questo aiuta a prevenire perdite accidentali di dati.
Gestione dei file nascosti
Per impostazione predefinita, rsync include i file nascosti (quelli che iniziano con .), consentendo la sincronizzazione anche dei file di configurazione e delle impostazioni dell’ambiente.
4. Sincronizzazione con server remoti
Sincronizzazione remota via SSH
Uno dei maggiori vantaggi di rsync è la sua capacità di sincronizzare file con server remoti tramite SSH, garantendo trasferimenti sicuri dei dati.
rsync -avz source user@remote_host:destination
Esempio:
rsync -avz /home/user/documents/ user@example.com:/var/www/backup/
-zabilita la compressione durante il trasferimento.user@hostspecifica il login SSH.
Connessione al primo avvio e autenticazione con chiave SSH
Al primo collegamento, potrebbe essere richiesto di confermare l’autenticità dell’host. Inserisci “yes” se è corretto.
Per un uso frequente, si raccomanda l’autenticazione con chiave SSH per evitare di inserire password:
ssh-keygen -t rsa
ssh-copy-id user@example.com
Specificare una porta SSH personalizzata
Se il server remoto utilizza una porta SSH non predefinita, specificala con -e:
rsync -avz -e "ssh -p 2222" /home/user/documents/ user@example.com:/var/www/backup/
Note importanti sulla sincronizzazione bidirezionale
rsync esegue solo una sincronizzazione unidirezionale. Per una vera sincronizzazione bidirezionale, considera strumenti come unison.
5. Opzioni utili di rsync ed esempi pratici
Opzioni avanzate oltre le basi
–delete: Rimuove i file non presenti nella sorgente
rsync -av --delete /home/user/source/ /mnt/backup/
Testa sempre con --dry-run prima di usare questa opzione.
–exclude: Esclude file o directory specifici
rsync -av --exclude '*.log' --exclude 'node_modules' /project/ /backup/
–bwlimit: Limitazione della larghezza di banda
rsync -av --bwlimit=5000 /data/ user@remote:/data/
Casi d’uso reali
Utilizzare rsync per backup
rsync -a --delete /home/user/ /media/usb/backup/
Automazione con cron
0 2 * * * rsync -a /home/user/ /mnt/backup/ >> /var/log/rsync.log 2>&1
Bilanciare flessibilità ed efficienza
rsync combina una flessibilità eccezionale con un’alta efficienza di trasferimento, rendendolo uno strumento potente per una sincronizzazione di file sicura e precisa.
6. Strumento GUI: Grsync
Consigliato per gli utenti a disagio con la riga di comando
Grsync è un front-end grafico per rsync che consente agli utenti di configurare ed eseguire compiti di sincronizzazione in modo visuale.
Installare Grsync su Ubuntu
sudo apt update
sudo apt install grsync

Uso di base
- Specifica i percorsi di origine e destinazione
- Seleziona le opzioni rsync tramite caselle di controllo
- Configura i pattern di esclusione
- Esegui dry run in sicurezza
Gestione basata su profili
Grsync consente di salvare le configurazioni come profili, facilitando la gestione di più compiti di backup o sincronizzazione.
Pro e contro
| Pros | Cons |
|---|---|
| Intuitive GUI, no commands required | Some advanced options are not available |
| Easy to understand options | Less detailed output than terminal usage |
| Safe for beginners | Less flexible than direct rsync usage |
7. Problemi comuni e soluzioni
I permessi dei file non sono preservati
sudo rsync -a /source/ /destination/
I collegamenti simbolici non sono gestiti come previsto
- Preserva i collegamenti: usa
-a - Copia i file reali: usa
--copy-links
Errori “Permission denied”
sudo rsync -a /source/ /destination/
Errori di connessione durante la sincronizzazione remota
- Verifica la connettività SSH
- Controlla i percorsi di destinazione e i permessi
Errori “Argument list too long”
- Usa regole include/exclude
- Dividi la sincronizzazione in batch più piccoli
8. FAQ
Q1. Come posso preservare proprietà e permessi?
A. Usa l’opzione -a.
Q2. Come posso escludere file specifici?
.A. Usa --exclude.
Q3. Come limitare l’uso della larghezza di banda?
A. Usa --bwlimit.
Q4. Posso visualizzare in anteprima le azioni prima dell’esecuzione?
A. Usa --dry-run.
Q5. I file nascosti vengono copiati?
A. Sì, per impostazione predefinita.
Q6. Qual è la differenza tra rsync e scp?
A. rsync supporta i trasferimenti delta e le capacità di ripresa, rendendolo più efficiente.
9. Riepilogo
Questo articolo ha coperto l’installazione di rsync, l’uso base e avanzato, la sincronizzazione remota, gli strumenti GUI, la risoluzione dei problemi e le FAQ.
Perché rsync è essenziale
- Trasferimenti rapidi basati su delta
- Preserva permessi e proprietà
- Sincronizzazione remota sicura
- Altamente personalizzabile con molte opzioni
- Supporta l’automazione tramite cron
- Facile per i principianti con strumenti GUI
rsync è uno strumento fondamentale per gli utenti Linux. Padronizzando le basi e applicando gradualmente le opzioni avanzate, è possibile raggiungere una gestione dei file e flussi di backup a livello professionale.


