GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo di rsync per sincronizzare i file

Utilizzo di rsync per sincronizzare i file

Lo scopo di questo articolo è fornire una comprensione dell'uso di rsync strumento.

Rsync sta per "sincronizzazione remota" ed è uno strumento efficiente per copiare e sincronizzare file o directory in locale o in remoto. L'efficienza si ottiene spostando solo le parti dei file che sono state modificate, invece di copiare di nuovo tutto.

Utilizzo

Sintassi

Il rsync la sintassi è davvero semplice:

rsync [OPTIONS] SOURCE DESTINATION

Opzioni

Le seguenti sono alcune delle opzioni più utili da aggiungere a rsync comando:

  • -v o --verbose :il flag dettagliato mostrerà informazioni sullo stato di avanzamento dell'attività.
  • -a o --archive :è uguale a -rlptgoD. Il flag di archivio imposta le opzioni più comuni invece di impostarle singolarmente.

Le seguenti sono le opzioni impostate con -a che possono anche essere impostati uno per uno:

  • -r o --recursive :ricorre nelle directory. Deve essere utilizzato quando è necessario copiare tutti i contenuti all'interno di una directory.
  • -l o --links :copia i collegamenti simbolici come collegamenti simbolici, non copia il file a cui puntano per evitare loopback ad altre directory.
  • -p o --perms :conserva i permessi del file.
  • -t o --times :conserva i timestamp di modifica originali.
  • -g o --group :conserva la proprietà dei gruppi di file.
  • -o o --owner :conserva i proprietari dei file.
  • -D :conserva i file del dispositivo e i file speciali. Puoi usare le opzioni --devices e --specials per raggiungere questo obiettivo.

Alcune altre opzioni che possono essere utilizzate sono:

  • -progress :mostra lo stato di avanzamento per file.
  • --max-size=SIZE :evita il trasferimento di file più grandi della dimensione specificata.
  • --min-size=SIZE :evita il trasferimento di file più piccoli della dimensione specificata.
Percorsi di origine e destinazione

È importante prendere in considerazione il modo in cui vengono specificati i percorsi di origine e di destinazione poiché una barra può modificare il comportamento.

Ad esempio, per copiare tutto all'interno di una directory chiamata in /home in un altro chiamato /new/destination/ il rsync corretto la sintassi sarebbe:

rsync -a /home/ /new/destination

Per copiare la directory in modo che una nuova cartella chiamata home viene creato anche nella directory di destinazione, la sintassi sarebbe:

rsync -a /home /new/destination

Nota che una singola barra dopo /home cambierà il risultato finale.

Utilizzo di rsync con un host remoto

Quando si ha accesso SSH a un host remoto è possibile utilizzare rsync con una sintassi davvero simile. Per copiare i contenuti da /home directory nel /home/new directory in un host chiamato REMOTE_HOST una spinta è necessaria l'operazione. La sintassi sarebbe:

rsync -a /home USER@REMOTE_HOST:/home/new

È possibile recuperare file da un host remoto sulla macchina locale usando rsync con un tiro operazione. La sintassi è simile a quella menzionata sopra, ma ora l'host remoto è l'origine:

rsync -a USER@REMOTE_HOST:/home/new /home

Conclusioni

Usando il rsync strumento è un modo affidabile ed efficiente per sincronizzare i file tra directory o host. Un comando di copia tradizionale non conserverebbe tutte le proprietà dei file e richiederebbe più tempo poiché copia tutto.

Con le opzioni citate in questo articolo è possibile determinare le proprietà che devono anche essere copiate e il rsync l'algoritmo ridurrà il tempo dell'attività copiando solo le differenze tra origine e destinazione.

  • Copia file con SCP e Rsync
  • Esegui il backup dei tuoi file con rsync

Linux
  1. Eseguire il backup dei file con rsync

  2. rsync copia solo su determinati tipi di file utilizzando l'opzione include

  3. cp -r senza file nascosti

  4. Linux equivalente a robocopy?

  5. rsync usando regex per includere solo alcuni file

Come rinominare i file usando la riga di comando in Linux

Come sincronizzare file e directory utilizzando Zaloha.sh

Riprendi i file parzialmente trasferiti su SSH utilizzando Rsync

Come eseguire il backup di file e directory utilizzando Rsync in Linux

Trova testo nei file su Linux usando grep

Trasferisci file usando WinSCP