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.
Articoli correlati
- Copia file con SCP e Rsync
- Esegui il backup dei tuoi file con rsync