Rsync è uno strumento da riga di comando molto popolare in Linux per la sincronizzazione di file e directory tra due posizioni diverse. Rsync è comunemente usato per eseguire backup, trasferimenti di file, copie da una posizione a un’altra e mirroring.
Rsync utilizza un algoritmo di trasferimento delta, il che significa che trasferisce solo le parti dei file che sono state modificate, rendendolo molto efficiente per file di grandi dimensioni o con un numero elevato. Ha anche la capacità di riprendere i trasferimenti interrotti e può funzionare su SSH per una maggiore sicurezza.
Alcuni casi d’uso comuni per i comandi Rsync includono:
Il comando Rsync può essere utilizzato su vari sistemi operativi come Windows, Linux, macOS, ecc.
rsync [OPTION]… SRC [SRC]… DEST
Varie opzioni utilizzate con il comando Rsync:
Installa Rsync sul sistema Linux
sudo apt install rsync
Debian/Ubuntu
sudo yum install rsync
RHEL/CentOS/Fedora/Oracle/Rocky e AlmaLinux
pacman -S rsync
ArcoLinux
sudo zypper install rsync
Usi pratici del comando Rsync
Come accennato in precedenza, Rsync è un utile strumento di comando per la gestione dei file tramite riga di comando. Usando Rsync possiamo eseguire il backup, il mirroring e la copia dei file sul terminale.
rsync -avz -e ssh /path/to/local/directory/ [email protected]:/path/to/remote/directory/
1. Sincronizzazione di una directory locale su un server remoto tramite SSH:
Questo comando utilizza il flag -a per la modalità archivio, -v per l’output dettagliato, -z per la compressione e il flag -e seguito dal comando ssh per connettersi al server remoto.
rsync -avz -e ssh [email protected]:/path/to/remote/directory/ /path/to/local/directory/
2. Sincronizzazione di una directory remota su un computer locale tramite SSH:
Questo comando è simile al precedente, ma copia i file dal server remoto al computer locale.
rsync -av --progress /path/to/local/directory/ /path/to/remote/directory/
3. Sincronizzazione di una directory con avanzamento:
Questo comando utilizza il flag –progress per visualizzare l’avanzamento del trasferimento.
rsync -av --exclude='*.log' /path/to/local/directory/ /path/to/remote/directory/
4. Sincronizzare una directory ed escludere determinati file:
Questo comando utilizza il flag –exclude seguito da un pattern per escludere tutti i file con estensione .log dal trasferimento.
rsync -avL /path/to/local/directory/ /path/to/remote/directory/
5. Sincronizzazione di una directory e conservazione dei collegamenti simbolici:
Questo comando utilizza il flag -L per preservare i collegamenti simbolici durante il trasferimento.
rsync -avH /path/to/local/directory/ /path/to/remote/directory/
6. Sincronizzazione di una directory e conservazione dei collegamenti reali:
Questo comando utilizza il flag -H per preservare i collegamenti reali durante il trasferimento.
rsync -avp /path/to/local/directory/ /path/to/remote/directory/
7. Sincronizzazione di una directory e conservazione delle autorizzazioni:
Questo comando utilizza il flag -p per preservare le autorizzazioni durante il trasferimento.
rsync -avt /path/to/local/directory/ /path/to/remote/directory/
8. Sincronizzazione di una directory e conservazione dei timestamp:
Questo comando utilizza il flag -t per preservare i timestamp durante il trasferimento.
rsync -av --delete /path/to/local/directory/ /path/to/remote/directory/
9. Sincronizzazione di una directory ed eliminazione di file che non si trovano più nell’origine:
Questo comando utilizza il flag –delete per eliminare dalla directory di destinazione i file che non si trovano più nella directory di origine.
rsync -avb /path/to/local/directory/ /path/to/remote/directory/
10. Sincronizzazione di una directory e creazione di un backup dei file sovrascritti:
Rsync può essere utilizzato per sincronizzare file tra diversi sistemi operativi?
È possibile utilizzare Rsync per sincronizzare i file su Internet?
Rsync può copiare i permessi e la proprietà dei file?
Rsync può copiare i collegamenti simbolici?
È possibile utilizzare Rsync per creare backup incrementali?
È possibile utilizzare Rsync per sincronizzare i file con un dispositivo mobile?
È possibile utilizzare Rsync per sincronizzare i file con l’archiviazione cloud?
È possibile utilizzare Rsync per trasferire file su un server remoto protetto da un firewall?
Rsync in un sistema Linux, può essere utilizzato per eseguire backup, trasferimenti di file, copia da una posizione a un’altra e mirroring e può essere eseguito su macchine locali o remote utilizzando una connessione SSH.