GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come usare Rsync

Introduzione

Il comando Remote sync, o rsync, viene utilizzato per trasferire e sincronizzare file e directory tra macchine, host, shell remote o una combinazione di quanto sopra. È una potente utility che dovresti conoscere se lavori con Linux. Tratteremo le basi del comando rsync qui. Sebbene questo articolo utilizzi Ubuntu 20.04, puoi usare gli stessi comandi su altre distribuzioni Linux.

Cosa rende rsync così speciale?

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.

Come si installa rsync?

La maggior parte delle distribuzioni Linux viene fornita con rsync installato. In caso contrario, usa il seguente comando sul tuo sistema Ubuntu:

sudo apt-get install rsync

Sintassi Rsync

Questa sezione esaminerà brevemente la sintassi di rsync.

Trasferimento o sincronizzazione da locale a locale

rsync {opzione} {sorgente} {destinazione}

Trasferimento o sincronizzazione da locale a remoto

rsync {option} {source} {[email protected]:destination}

Trasferimento o sincronizzazione da remoto a locale

rsync {option} {[email protected]:destination} {destination}

Source è la directory di origine

Destinazione è la directory di destinazione

L'opzione sono le opzioni del comando rsync

Utente è il nome utente remoto

Host è l'IP o il nome host remoto

Come usare rsync

Copia file in locale

Per copiare i file in locale, usa:

rsync –a {filename} {destination}

Nell'esempio sopra, stiamo copiando "source.zip ” dalla nostra directory corrente a Documenti.

Puoi verificare se il file è stato copiato elencando tutti i file e le directory in Documenti, utilizzando:

ls

Come puoi vedere, "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}

Nell'esempio seguente, copieremo "source.zip ” di nuovo, ma questa volta rinominalo in “destination.zip ”.

"destinazione.zip ” è stato copiato nella directory Documenti, come mostrato nell'immagine sottostante.

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}

L'immagine sopra mostra il contenuto "Fonte ” copiata nella directory “Destinazione ” directory.

Copia l'intera directory nella destinazione

Se vuoi solo copiare il contenuto della tua directory nella destinazione, usa:

rsync –av {source} {destination}

L'esempio precedente copia la "Sorgente ” e il suo contenuto nella “Destinazione ” directory.

Mostra progressi

Per visualizzare lo stato di avanzamento, utilizzare:

rsync –rv –progress {source} {destination}

Ignora i file

Se vuoi ignorare determinati file, usa:

rsync -vr --exclude '{condition}' {source} {destination}

La "Fonte ” contiene i seguenti file:

Nell'esempio seguente, ignoreremo i file che iniziano con una "s ”.

Come mostra l'immagine, solo "file ” viene copiato.

Elenca file e directory

rsync può essere utilizzato per elencare i contenuti di una sorgente.

rsync {filename}

Il comando precedente elenca il contenuto della directory Documenti.

Copia file da un computer locale a un computer remoto

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 [email protected] IP:/destination}

Ti verrà richiesta la password della macchina remota.

Nell'esempio seguente, sposteremo "doc ” nella directory home remota.

Usando ls, possiamo vedere che "doc ” è stato spostato qui.

Copia file da un telecomando a una macchina locale

Utilizzerai lo stesso comando come quello utilizzato nell'esempio sopra.

rsync –a {remote source} {local [email protected] IP:/destination}

In questo esempio, sposteremo "remotesrcdoc ” dalla macchina remota alla macchina locale.

Usando ls, possiamo vedere che “remotesrcdoc ” è stato spostato qui.

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)

Nell'esempio seguente, sposteremo "source.zip ” sul desktop, denominalo destinazione e aggiungi la data.

Visualizzazione delle differenze tra i file di origine e di destinazione
Il comando seguente può essere utilizzato per visualizzare le differenze tra i file di origine e di destinazione.

rsync –avzi {source}/ {destination}/

L'immagine seguente mostra che i file "Ciambelle " e "Hello.txt ” non sono presenti nella directory di destinazione.

Il parametro "f ” significa file. Altri parametri includono:

t:modifica del timestamp

d:cambio di destinazione

s:modifica della dimensione del file

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}

Nell'esempio seguente, stiamo limitando la larghezza di banda a 1000 kB.

Ulteriori informazioni su rsync

Per vedere più opzioni disponibili su rsync, usa:

rsync –help

Abbiamo trattato alcune delle nozioni di base del comando rsync, abbiamo visto come trasferire e sincronizzare i file in locale e in remoto.

Se vuoi sincronizzare i tuoi file usando il comando scp, visita qui.


Ubuntu
  1. Come usare BusyBox su Linux

  2. Come uso cron in Linux

  3. Come utilizzare Advanced rsync per backup Linux di grandi dimensioni

  4. Come utilizzare il comando Linux Rsync (sincronizzazione remota).

  5. Come utilizzare Chromecast?

Come installare Vai su Ubuntu 20.04

Come usare il comando cd in Linux

Come eliminare una directory in Ubuntu 20.04

Come usare Ubuntu

Come utilizzare gli indici in cPanel?

Come utilizzare FTP