Copia e sincronizzazione con rsync

26/09/23 | ~ 3 minuti

Introduzione

Rsync è un celeberrimo software per la sincronizzazione di due cartelle (anche remote).
La sua principale peculiarità è quella di usare la codifica delta per aumentare esponenzialmente l'efficienza dei processi di copia.
Di cosa si tratta? Fondamentalmente, a partire dalla seconda sincronizzazione, solo i file e le cartelle che hanno subito modifiche vengono scritti (o rimossi, se richiesto) dal dispositivo di destinazione; in questo modo i tempi del processamento si riducono drasticamente e anche la "salute" delle memorie di massa può giovarne.

Rsync, grazie al supporto ai tantissimi parametri illustrati nel manuale, può anche sostituire il classico comando cp, ad esempio quando è importante mantenere i permessi o il timestamp.

Il comando "universale"

Per consuetudine la rappresentazione dei comandi avviene con il prefisso "$ ", che non va digitato nella shell.

Può sembrare banale, ma ho identificato un singolo comando che mi è utile nel 99% delle occasioni: $ rsync -a --delete [cartella sorgente] [cartella di destinazione] Si tratta semplicemente di invocare rsync con il parametro -a per preservare i permessi, le date di modifica e i proprietari.
Poi si aggiunge --delete, in modo da permettere l'eliminazione dei file non più necessari nella cartella di destinazione, così da ottenere due cartelle perfettamente uguali.
Opzionalmente si può aggiungere il paramentro -P per visualizzare il progresso delle operazioni in corso.
Un esempio di comando completo potrebbe quindi essere: rsync -aP --delete cartella1/ cartella2/

[user@dajelinux ~]$ dajelinux --per-approfondire