Come rirsiare una directory?

Come rirsiare una directory?
Rsync sta per “Sync Remote."È un metodo di sincronizzazione per directory e file che funziona sia a livello locale che remoto. Questo strumento impiega il "Algoritmo Delta"Ciò riduce la quantità di dati copiati trasferendo solo la parte modificata dei file o delle directory. In questo post, passeremo attraverso le basi dell'utilizzo di questo strumento per sincronizzare una directory.

Cos'è rsync?

RSYNC è un'utilità abilitata per la rete che è altamente flessibile in termini di sincronizzazione di file e directory. È incluso nella maggior parte delle distribuzioni Unix e Linux come utilità popolare per gli script di sistema e il suo uso diffuso su questi sistemi operativi.

Ora, controlliamo la sintassi di base del comando RSYNC.

Sintassi di rsync:

$ rsync Option Source Destination

Qui "Opzione" si riferisce alle opzioni RSYNC, "Sorgente" per la directory di origine e "Destinata" per la directory di destinazione.

Per dimostrarti il ​​metodo di sincronizzazione di una directory in Linux, abbiamo creato due directory di test, "Testdir1" e "TestDir2", nel nostro sistema.

1. Directory RSYNC a livello locale:

Prima di tutto, elenca tutti i contenuti della directory per conoscere i file o le cartelle. Abbiamo selezionato "TestDir1" per questo scopo.

$ ls -al ./testdir1/

Directory rsync con l'opzione "-r":

Per la sincronizzazione diretta, utilizzare l'opzione ricorsiva "-r" nel comando RSYNC. La sintassi di seguito dà sintassi sincronizzerà il contenuto dalla sorgente alla sua directory di destinazione. Il "/" indica il contenuto della directory di origine. Senza questa barra, il comando RSYNC inserirà la directory di origine all'interno della directory di destinazione.

Scrivi questo comando per avviare la sincronizzazione locale di una directory su un'altra.

$ rsync -r testdir1/ testdir2
$ ls -al ./testdir2/

Elenca il contenuto di "TestDir2" per visualizzare le modifiche apportate da RSYNC.

Directory rsync con l'opzione "-a":

Puoi anche utilizzare varie opzioni o flag che RSYNC supporta. La bandiera "-a" è una di queste. Questo flag aiuta il comando RSYNC a sincronizzare una directory in modo ricorsivo e mantenere i file di dispositivi, tempi di modifica, collegamenti simbolici, proprietari, gruppi e autorizzazioni.

$ rsync -a testdir1/ testdir2
$ ls -al ./testdir2/

Directory RSYNC con l'opzione "-v":

Per mostrare il processo RSYNC sull'opzione "-V" terminale viene utilizzato con il comando RSYNC.

$ rsync -anv testdir1/ testdir2

Per verificare la differenza che deriva usando un "/" alla fine della directory di origine, scrivi questo comando:

$ rsync -anv testdir1 testdir2

L'output afferma chiaramente che ora la directory di origine viene trasferita.

Directory RSYNC con l'opzione "-P":

Il "-P" mostra l'avanzamento della directory di sincronizzazione visualizzando la barra di avanzamento sul terminale.

$ rsync -azp testdir1 testdir2

Puoi anche utilizzare lo stesso comando per riprendere eventuali trasferimenti interrotti.

$ rsync -azp testdir1 testdir2

Per verificare se si utilizza lo stesso comando RSYNC Sincronizza solo la modifica che abbiamo apportato nella directory, crea alcuni file di test nella directory di origine.

$ touch testdir1/file 1… 10

Successivamente, eseguire lo stesso comando RSYNC e vedere il comportamento intelligente del comando rsync.

$ rsync -azp testdir1 testdir2

2. Directory RSYNC dal sistema locale al remoto:

Il funzionamento della sincronizzazione di una directory locale a qualsiasi sistema remoto è noto come "push", in quanto spinge la directory dal sistema locale a quello remoto.

Seguire la sintassi dell'operazione push per la sincronizzazione di una directory:

$ rsync -a ~/source username@remote_host: destinazione

Nel nostro caso, sincronizzeremo la directory "TestDir1" con l'host remoto "10.0.2.15 ".

$ rsync -a ~/testdir1 [email protected]: Testdir2

3. Directory RSYNC dal sistema remoto al sistema locale:

Come tutti sappiamo, l'opposto della spinta è "pull."Nel contesto della sincronizzazione, estrarre l'operazione sincronizza una directory dal sistema remoto al sistema locale.

$ sudo rsync -v nome utente@remote_host: destinazione di origine
$ sudo rsync -v [email protected]:/home/linuxhint/testdir1/testdir2

Conclusione:

RSYNC è uno strumento che può migliorare l'affidabilità della sincronizzazione della directory locale e il processo di trasferimento dei file su sistemi remoti. Puoi usare il comando rsync Per creare backup complessi e un controllo regolare su cosa e come una directory si sincronizzerà. In questo post, ti abbiamo mostrato le varie forme di utilizzo di RSYNC, che includono: directory RSYNC all'interno di un sistema locale, directory RSYNC dal sistema locale a un sistema remoto e anche dal telecomando a quello locale.