Come padroneggiare il comando rsync in Linux

So beherrschen Sie den Befehl rsync unter Linux
⏱️ 4 min read

Come suggerisce il nome, rsync è uno strumento di sincronizzazione. La prima volta che lo usi, copia semplicemente file e directory da una posizione a un’altra. Gli utilizzi successivi, tuttavia, sincronizzano solo le differenze tra queste posizioni. Quindi, se aggiungi un file alla directory di origine, rsync copierà solo il nuovo file nella destinazione. Ciò consente di risparmiare molto tempo e larghezza di banda, soprattutto quando si copia in una posizione remota.

Immagina di avere 50 GB di dati che devi sincronizzare con un server remoto. Puoi programmare rsync in modo che venga eseguito quotidianamente. Invece di dover copiare tutti i 50 GB più e più volte, l’utilità invierà solo le differenze. Ciò potrebbe significare che deve caricare solo pochi megabyte di dati ogni giorno, invece di gigabyte.

Nell’immagine sopra, puoi vedere come la prima volta sono stati trasferiti 104 MB, mentre durante il secondo utilizzo sono stati richiesti solo 31 KB.

Come installare rsync su varie distribuzioni Linux

Nelle distribuzioni Debian e basate su Debian, come Ubuntu, puoi installare rsync con:

Su Fedora, installa con:

E sulle distribuzioni derivate da RedHat (ad esempio, CentOS):

Per installare rsync su Arch Linux, usa il comando:

Su openSUSE, usa:

Se non è incluso nei tuoi repository predefiniti, consulta il pagina di installazione di openSUSE rsync.

Come utilizzare rsync per sincronizzare file o directory locali

La sintassi generale di rsync è: rsync [options] /path/to/source /path/to/destination.

[options] sta per opzioni della riga di comando che puoi trovare nel manuale:

rsync-command-line-options

stampa q per uscire dal manuale.

Per copiare un file:

Il comando sopra è equivalente a rsync /bin/ls /home/your_username. Questo copia il comando “ls” nella directory in cui ti trovi attualmente. Per impostazione predefinita, dovrebbe essere /home/your_username. Il punto . sta per directory corrente. I nomi di percorso possono essere assoluti (/home/your_username/Downloads/chrome.zip) o relativo alla directory corrente (Downloads/chrome.zip).

Quando gestisci file molto grandi, puoi usare questo comando:

Questo mostrerà l’avanzamento e ti permetterà di riprendere un trasferimento interrotto. Nel caso in cui sia necessario riprendere, utilizzare:

Senza --append, il trasferimento inizierà da zero.

Per sincronizzare le directory:

Comando di esempio:

Effetto della barra finale in rsync (importante)

Nel comando precedente si noti che il percorso della directory di origine non contiene una barra finale / (/bin vs /bin/). Senza una barra finale, rsync copia la directory stessa. Così rsync -av /bin . si traduce in quanto illustrato nell’immagine seguente.

rsync-without-trailing-slash

Quando viene utilizzata una barra finale, rsync copia il contenuto in quella directory. In questo caso ogni file in /bin sarebbero sparsi nella directory di destinazione. Così rsync -av /bin/ . risulterebbe in ciò che è rappresentato nell’immagine seguente.

rsync-with-trailing-slash

È molto importante ricordare questa differenza, poiché l’uso di TAB per il completamento automatico dei nomi delle directory aggiunge automaticamente una barra finale alla fine. Quindi tienilo a mente per evitare di creare confusione nella directory di destinazione.

Come utilizzare rsync per la sincronizzazione con posizioni remote (ad es. Server)

Ciò che è stato descritto nella sezione precedente è vero quando si lavora con posizioni remote. L’unica differenza è che devi anteporre il nome utente di accesso e l’indirizzo della posizione remota. Per inviare il tuo /bin directory su un computer remoto, utilizzare:

rsync si connette tramite OpenSSH. Ciò significa che devi prima configurare il server OpenSSH e le credenziali di accesso sulla destinazione remota. Nota che your_username si riferisce al nome utente creato sul server. Questo potrebbe essere diverso dal nome utente che hai sulla tua macchina locale.

Se possiedi un nome di dominio e lo punti all’IP del tuo server, puoi utilizzare il dominio nel comando:

Su trasferimenti di grandi dimensioni, è utile anche comprimere i dati prima di inviarli tramite il filo aggiungendo l’estensione -z parametro:

È possibile omettere il parametro di compressione quando si inviano file già compressi (file audio come MP3, video, immagini JPEG). Non possono essere compressi ulteriormente, quindi sprecheresti davvero tempo usando -z su questi.

Per copiare i file dalla destinazione remota al computer locale, è sufficiente invertire le posizioni:

Conclusione

Questo copre i comandi rsync più importanti che devi conoscere. Se hai bisogno di un maggiore controllo su come sincronizzare le directory, consulta il manuale rsync in linea e scorri verso il basso di alcune pagine fino a trovare “Riepilogo opzioni”.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar di Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Potrebbero interessarti anche...

Subscribe
Notificami
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x