Il comando rsync noto anche come sincronizzazione remota viene utilizzato per il trasferimento e la sincronizzazione di file e directory tra macchine, host, shell remote e così via. È una potente utility che dovresti conoscere se lavori con Linux.
Qui a LinuxAPT, esamineremo come installare il comando rsync sul tuo sistema Ubuntu Linux che può essere applicato anche in altre distribuzioni Linux.
Se desideri sincronizzare i tuoi file utilizzando il comando scp, visita:https://linuxapt.com/blog/408-top-15-scp-command-examples-in-linux
Perché rsync è unico?
I comandi rsync utilizzano la compressione e la decompressione durante la ricezione e l'invio di file, ciò significa che consumerà molto meno larghezza di banda.
Rsync aggiorna solo le differenze tra l'origine e la destinazione poiché utilizza il protocollo di aggiornamento remoto.
Supporta anche proprietari, gruppi, collegamenti, autorizzazioni e dispositivi.
Per vedere più opzioni disponibili su rsync, usa:
$ rsync –help
Come installare rsync sul tuo sistema Ubuntu Linux?
Per installare rsync, devi eseguire il seguente comando sul tuo sistema:
$ sudo apt-get install rsync
Qual è la sintassi di Rsync?
La sintassi di rsync è riportata di seguito.
1. Trasferimento o sincronizzazione da locale a locale:
$ rsync {option} {source} {destination}
2. Trasferimento o sincronizzazione da locale a remoto:
$ rsync {option} {source} {user@host:destination}
3. Trasferimento o sincronizzazione da remoto a locale:
$ rsync {option} {user@host:destination} {destination}
Qui,
- La fonte è la directory di origine.
- La destinazione è la directory di destinazione.
- L'opzione è le opzioni del comando rsync.
- Utente è il nome utente remoto.
- Host è l'IP o il nome host remoto.
Come si usa rsync?
1. Copia i file in locale
Per copiare i file in locale, usa:
$ rsync –a {filename} {destination}
Qui stiamo copiando "source.zip" dalla nostra directory corrente in Documenti.
Puoi verificare se il file è stato copiato elencando tutti i file e le directory in Documenti, utilizzando:
$ ls
Vedrai che "source.zip" è presente nella directory Documenti.
Se non aggiungi un nome per il file nella destinazione, copierà lo stesso nome del file di origine. Per modificare il nome del file di destinazione, utilizzare:
$ rsync –a {filename} {destination/filename}
Nel nostro caso, copieremo di nuovo "source.zip", ma questa volta lo rinomineremo in "destination.zip".
"destination.zip" è stato copiato nella directory Documenti.
2. Copia il contenuto di una directory nella destinazione
Puoi utilizzare il comando seguente per copiare il contenuto della directory di origine nella destinazione:
$ rsync –av {source}/ {destination}
Ora vedrai che la directory "Sorgente" del contenuto viene copiata nella directory "Destinazione".
3. Copia l'intera directory nella destinazione
Se vuoi solo copiare il contenuto della tua directory nella destinazione, usa:
$ rsync –av {source} {destination}
Ora vedrai che la directory "Sorgente" e il suo contenuto vengono copiati nella directory "Destinazione".
4. Mostra i progressi
Per visualizzare lo stato di avanzamento, utilizzare:
$ rsync –rv –progress {source} {destination}
5. Ignora i file
Se vuoi ignorare determinati file, usa:
$ rsync -vr --exclude '{condition}' {source} {destination}
La directory "Source" conterrà alcuni file quando esegui il comando "ls".
Puoi ignorare i file che iniziano con una "s".
6. Elenca file e directory
rsync può essere utilizzato per elencare il contenuto di una fonte:
$ rsync {filename}
Questo comando elencherà il contenuto della directory Documenti.
7. Copia i file da una macchina locale a una remota
Per spostare i file su una macchina remota, dovrai installare openssh-server. Il comando per questo è:
$ sudo apt update
$ sudo apt install openssh-server
Una volta installato, puoi utilizzare il comando seguente per spostare il file o la directory:
$ rsync –a {source} {remote username@remote IP:/destination}
Ti verrà richiesta la password della macchina remota.
8. Copia i file da un telecomando a una macchina locale
Puoi usare il comando seguente come quello usato nell'esempio sopra:
$ rsync –a {remote source} {local username@local IP:/destination}
9. Aggiungi la data corrente al file di destinazione
Puoi aggiungere la data al file di destinazione o al nome della directory utilizzando:
$ rsync -av /home/test/Desktop/Linux /home/test/Desktop/rsync$(date +\\%Y-\\%m)
Visualizzazione delle differenze tra i file di origine e di destinazione
Il comando seguente può essere utilizzato per vedere le differenze tra i file di origine e di destinazione:
$ rsync –avzi {source}/ {destination}/
Ecco,
Il parametro "f" significa file. Altri parametri includono:
- t:modifica del timestamp
- d:cambio di destinazione
- s:modifica della dimensione del file
10. Limita la larghezza di banda durante il trasferimento di file
Per limitare la larghezza di banda durante il trasferimento di file, utilizzare:
$ rsync -vr --bwlimit=1000 {source}/* {destination}
Come disinstallare rsync da Ubuntu 21.04?
Per disinstallare solo il pacchetto rsync possiamo usare il seguente comando:
$ sudo apt-get remove rsync
Possiamo usare il seguente comando per rimuovere le configurazioni di rsync, i dati e tutte le sue dipendenze, possiamo usare il seguente comando:
$ sudo apt-get -y autoremove --purge rsync