Rsync (sincronizzazione remota): esempi pratici di Rsync

Rsync è uno strumento basato su Linux che può essere utilizzato per sincronizzare i file tra server remoti e locali. Rsync ha molte opzioni che possono aiutarti a definire le connessioni che crei. Dalla decisione del tipo di shell da utilizzare ai file da escludere in un trasferimento, Rsync ti dà il potere di modellare le specifiche di trasferimento.

  • Il vantaggio del backup incrementale può essere utilizzato, supporta il socket, diversi (supporti scorrevoli, sono di riferimento client)
  • Remote collega shell può anche crittografare (ssh) trasmissione, socket, è necessaria una trasmissione crittografata o il servizio può essere utilizzato × × × servizio ipsec.
  • Rsync utilizza il metodo di compressione e decompressione durante l'invio e la ricezione di dati su entrambe le estremità, portando a un consumo complessivo di larghezza di banda inferiore.
  • Rsync supporta la copia di dispositivi, gruppi, collegamenti, proprietari e autorizzazioni.

Nel seguente tutorial, eseguiremo alcuni degli esempi più comuni di utilizzo di Rsync.

Installa Rsync su Linux

Di seguito sono riportati alcuni dei sistemi Linux più comuni e come installare Rsync.

Installa le distribuzioni basate su Rsync Alma Linux, Fedora, Rhel, Rocky Linux

sudo yum install rsync -y

Installa Rsync Debian, Linux Mint, distribuzioni basate su Ubuntu

sudo apt install rsync -y

pubblicità


Sintassi del comando Rsync

Innanzitutto, è utile conoscere le basi della sintassi di Rsync, che è semplice e funziona con uno stile di operazione CP, SCP e SSH simile. Alcuni esempi sono i seguenti:

FunzioneEsempio di sintassi
Sincronizzazione locale:rsync {opzioni} {sorgente} {destinazione}
Pull sincronizzazione remota:rsync {opzioni} @ :
Sincronizzazione remota push:rsync @ :
  • DEST – Directory di destinazione.
  • HOST – Nome host remoto o indirizzo IP.
  • OPZIONE – Le opzioni di rsync.
  • SRC – Directory di origine.
  • UTENTE – Nome utente remoto.

Comandi Rysnc

Rsync viene fornito con un numero significativo di opzioni per controllare come applicare e utilizzare il software di sincronizzazione. Alcuni dei comandi più comuni sono i seguenti:

ComandoScopo
-a, –archivioarchiviare file e directory durante la sincronizzazione ( -a uguale alle seguenti opzioni -rlptgoD)
-b, –backup eseguire il backup durante la sincronizzazione
-l, –linkcopia i collegamenti simbolici come collegamenti durante la sincronizzazione
-d, –cancellaelimina i file estranei dalla posizione di destinazione.
-e, –rsh=COMANDOmenzionare la shell remota da usare in rsync
-h, –leggibile dall'uomo visualizzare i numeri di output in un formato leggibile dall'uomo
-u, –aggiorna   non copiare i file dall'origine alla destinazione se i file di destinazione sono più recenti
-r, –ricorsivo     sincronizzare file e directory in modo ricorsivo
-n, –funzionamento a secco   eseguire una prova senza sincronizzazione
–p, –progressmostra l'avanzamento della sincronizzazione durante il trasferimento
-z, –comprimi   comprimere i dati del file durante il trasferimento
-q, –tranquillo   sopprimere l'output del messaggio
-v, –verboso  output verboso

pubblicità


Copia/Sincronizza file e directory localmente

Il seguente comando sincronizzerà un singolo file su un computer locale da una posizione a un'altra posizione. L'esempio prenderà il seguente file (backup.zip) e copiarlo o sincronizzarlo con (/tmp/backup/) cartella.

rsync -zvh backup.zip /tmp/backups/

Nota, anche se il percorso non esiste, il comando Rsync può creare una directory.

Copia/Sincronizza una directory sul computer locale

Per trasferire o sincronizzare tutti i file da una directory a una directory diversa nella stessa macchina. L'esempio che vedrai qui sta prendendo il (download) directory e creare nuovamente un backup nella posizione di sincronizzazione (/tmp/backup/).

rsync -avzh /home/joshua/Downloads /tmp/backups/
Rsync (sincronizzazione remota): esempi pratici di Rsync

pubblicità


Copia una directory dal server locale a un server remoto

Rsync può essere utilizzato per sincronizzare le directory da e verso i server locali con i server remoti. Nell'esempio seguente, useremo la cartella (Backup) sul tuo server locale per essere inviato a macchine remote nella tua rete interna o esterna.

rsync -avz backup/ root@192.168.50.107:/home/

Copia/sincronizza una directory remota su una macchina locale

Il prossimo esempio di directory remota di Rsync si sincronizzerà in modo opposto in questo periodo. Il seguente frammento di codice di esempio utilizzerà Rsync per sincronizzare una directory remota con il server locale. Directory di esempio (/home/josh/backup/pacchetti) da copiare sul tuo server locale (/tmp/pacchetti).

rsync -avzh root@192.168.50.107:/home/josh/backup/packages /tmp/packages

pubblicità


Copia un file da un server remoto a un server locale con SSH

Uno dei modi più popolari per trasferire dati tra server locali e remoti è utilizzare SSH (Shell sicuro) poiché i dati sono protetti in una connessione protetta e crittografati in modo che nessuno possa leggere i dati in transito che, date le preoccupazioni sulla privacy di questi giorni, è un fattore critico.

Per specificare un protocollo con rsync con SSH, è necessario specificare il (-e) opzione protocollo come all'inizio della guida con i comandi di base e la sintassi.

rsync -avzhe ssh root@192.168.50.107:/home/josh/packages /tmp/

Copia un file da un server locale a un server remoto con SSH

L'esempio seguente mostrerà il contrario con rsync che sincronizza un file, questa volta dal tuo server locale a un server remoto interno o esterno utilizzando SSH e Rsync.

rsync -avzhe ssh images.zip root@192.168.50.107:/uploads/

pubblicità


Escludi file e directory

Queste due opzioni ti permettono di escludere file specificando i parametri. La prima opzione è usare il (-escludere) argomento e specificare i file e le directory che si desidera escludere sulla riga di comando.

In primo luogo, quando si escludono file o directory, è necessario assicurarsi di utilizzare i percorsi relativi alla destinazione di origine, altrimenti fallirà o avrà risultati errati nell'escludere i file errati. Nel primo esempio seguente, vedrai un'opzione per escludere (cache) , che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana (tmp) directory:

rsync -a --exclude=cache --exclude=tmp /src_directory/ /dst_directory/

Nella seconda opzione, userai il (–escludi-da) opzione e specificare i file e le directory che si desidera escludere che è memorizzato in un file:

rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/
Rsync (sincronizzazione remota): esempi pratici di Rsync

Imposta la dimensione massima dei file da trasferire

L'esempio seguente limiterà la dimensione dei file da sincronizzare. Questo è utile per eseguire costantemente rsync tra macchine locali e remote in cui i file potrebbero gonfiarsi o entrano in gioco fattori di larghezza di banda.

rsync -avzhe ssh --max-size='100k' /var/log root@192.168.0.100:/home/josh/logs

Nota, è necessario specificare la dimensione. Ad esempio, KB usa K, MB usa M e GB usa G.


pubblicità


Mostra progressi durante il trasferimento dei dati con rsync

Un'altra caratteristica popolare durante la sincronizzazione di directory di grandi dimensioni è vedere i progressi. Questo può essere fatto nell'esempio seguente utilizzando l'opzione (-progress), che mostrerà i file e il tempo rimanente per il completamento del trasferimento.

rsync -avzhe ssh --progress images.zip root@192.168.50.107:/uploads/

Non sincronizzare/copiare file modificati dalla destinazione

A volte potresti richiedere che l'origine non si sincronizzi e copi eventuali modifiche dalla destinazione. Un esempio di ciò potrebbe essere il backup di tutti i file su un server di backup e si desidera che solo l'origine si sincronizzi e ignori eventuali modifiche nella destinazione poiché non saranno valide sul server di origine per evitare il danneggiamento.

Questo può essere fatto usando il -u bandiera nel comando rsync.

rsync -avzu root@192.168.50.107:/uploads/ /backup/website1

pubblicità


Commenti e Conclusione

Rsync è probabilmente uno dei modi più efficienti, accessibili e sicuri per sincronizzare i file tra sistemi operativi e server. Uno svantaggio è che rsync può sovrascrivere accidentalmente i tuoi file, quindi è fondamentale ricontrollare tutto prima di sincronizzare o utilizzare il (-funzionamento a secco) opzione.

Rsync è fantastico per spostare sincronizzazioni di file complessi e per trasferire un gran numero di file. Per molti utenti, è meglio usare Rsync per spostare grandi lotti di file rispetto a SCP. Se utilizzato con cron, Rsync è anche in grado di eseguire backup automatici. Sebbene possa sembrare e sembrare difficile, Rsync può essere utile e realizzare cose che le interfacce meno intimidatorie potrebbero non essere in grado di fare.

Sottoscrivi
Notifica
0 Commenti
Feedback in linea
Visualizza tutti i commenti
0
Amerei i tuoi pensieri, per favore commenta.x