GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come trasferire file con Rsync su SSH

Introduzione

Rsync sta per "Sincronizzazione remota". Il rsync comando consente di trasferire e sincronizzare i dati tra diverse macchine e directory. Utilizzando il protocollo Secure Shell (SSH), puoi copiare i tuoi file in modo sicuro in un'altra posizione.

Lo strumento rsync ha molti vantaggi rispetto ad altri metodi per copiare i file. Utilizza sia la compressione che la decompressione durante l'invio e la ricezione di file. Lo strumento trasferisce solo file nuovi o aggiornati risparmiando sulla larghezza di banda e portando tempi di trasferimento più rapidi.

Segui questa guida per scoprire come utilizzare rsync su SSH per trasferire o copiare file.

Prerequisiti

  • Utente con sudo o root privilegi
  • Accesso SSH a un server tramite riga di comando/finestra del terminale
  • Rsync installato sul computer locale e di destinazione

Verifica installazione Rsync

Le distribuzioni Linux più recenti hanno rsync per impostazione predefinita. Per verificare che sul tuo sistema sia installato rsync, esegui il comando di installazione.

Per Debian e Ubuntu macchine, usa apt-get :

sudo apt-get install rsync

Se rsync è già installato, l'output mostra la versione corrente dello strumento.

Su basato su RPM macchine, come CentOS, usano:

sudo yum install rsync

Trasferisci file con Rsync su SSH

Prima di poter iniziare a trasferire file e directory con rsync su SSH, assicurati di poter utilizzare SSH per connetterti a un server remoto. Una volta verificato, puoi iniziare a eseguire il backup dei tuoi dati. Assicurati che il tuo sistema di destinazione abbia spazio di archiviazione sufficiente.

La sintassi per copiare i file su un server remoto tramite SSH con rsync il comando è:

rsync OPTION SourceDirectory_or_filePath [email protected]_or_name:Target

Esempi di comando rsync

Segui il resto della guida per vedere gli esempi dei casi d'uso di rsync più comuni .

Trasferisci un file specifico con Rsync

Per trasferire un singolo file su una macchina remota, immettere il percorso completo del file di origine. Ad esempio:

rsync ~/Dir1/source.pdf [email protected]:~/Desktop/test

Assicurati di utilizzare le virgolette per i file che contengono spazi nel nome. Ad esempio:

rsync ~/Desktop/Dir1/"source pdf sample.pdf" [email protected]:~/Desktop/test

Trasferisci i contenuti di una directory con Rsync

Ci sono alcune opzioni durante la sincronizzazione dei contenuti della directory con rsync su SSH.
Per trasferire tutti i file da una directory di origine alla destinazione su un host remoto, inserisci:

rsync ~/SourceDirectory/* [email protected]:~/Destination

L'asterisco (*) indica allo strumento di includere tutti i file nella directory di origine. Le sottodirectory non trasferito .

Ad esempio:

L'output mostra le directory che rsync ha saltato durante il trasferimento.

Per includere tutte le sottodirectory dalla directory di origine, utilizza il -r (ricorsivo) o -a (archivio) opzione. Il -a flag è ciò che consigliamo. Questa opzione esegue la sincronizzazione ricorsiva e mantiene tutte le autorizzazioni e le impostazioni dei file. Questa volta non utilizzare l'asterisco nel percorso di origine.

rsync -a ~/Desktop/Dir1/ [email protected]:~/Desktop/test

Quando esegui il comando in questo formato, rsync trasferisce tutti i file e le sottodirectory dalla directory di origine al percorso di destinazione. Dal nostro esempio sopra, il test avrà il contenuto della Dir1 fonte al termine del trasferimento.

Per evitare che i file vengano copiati, consulta la nostra guida su come escludere file e directory nel trasferimento dei dati utilizzando il comando rsync.

Verifica avanzamento trasferimento file Rsync

Per controllare lo stato dei trasferimenti rsync, utilizza il -P opzione. Questa opzione mostra i tempi di trasferimento, nonché i nomi dei file e delle directory sincronizzati.

Se si verifica un problema con la tua connessione e la sincronizzazione viene interrotta, -P riprende i tuoi trasferimenti.

Esegui il comando in questo formato per sincronizzare ricorsivamente e controllare lo stato del trasferimento:

rsync -aP ~/SourceDirectory/ [email protected]:~/Destination

Ad esempio:

Se esegui nuovamente lo stesso comando quando non sono state apportate modifiche alla directory di origine, il trasferimento non viene eseguito. Il motivo è che rsync trasferisce solo le modifiche ai file e ai nuovi file. In questo caso, l'output mostra solo la seguente riga:

Quando c'è una modifica anche in un file di origine, rsync la rileva e la sincronizza con la destinazione.

Abbiamo apportato una modifica in un file ed eseguito nuovamente lo stesso comando:

L'output mostra il campione sorgente2 il file è stato trasferito poiché rsync ha rilevato che il file è stato modificato.


Ubuntu
  1. Come scaricare e caricare file su SSH

  2. Come silenziare selettivamente Rsync?

  3. Come collegare un Nexus 7 per trasferire file??

  4. Eseguire il backup dei file con rsync

  5. Come differenziare le directory su ssh

Come trasferire file con Rsync su SSH

Riprendi i file parzialmente trasferiti su SSH utilizzando Rsync

Come utilizzare il comando rsync per copiare i dati localmente e su SSH

Copia i dati con rsync su Ubuntu

Come trasferire file con Commander One

Come configurare un backup con rsync su Ubuntu 18.04