50% di sconto tutti i piani, offerta a tempo limitato. A partire da $2.48/mo
10 min rimasti
Sicurezza e Networking

Come Usare Rsync in Linux? Rsync verso Server Remoto 💻📥

Lily Carnell By Lily Carnell lettura di 10 minuti Aggiornato 16 apr 2023
Rsync verso server remoto

Che tu sia un admin o un utente normale, molto probabilmente hai bisogno di fare backup regolari dei tuoi file o sincronizzarli tra più sistemi. Se questa operazione richiede di sovrascrivere tutti i file ogni volta, diventa lunga e faticosa. È qui che lo strumento Linux Rsync to remote server viene in tuo aiuto. Questa guida ti familiarizzerà con i comandi Rsync più utili, permettendoti di sfruttare le sue funzioni veloci e sicure.

Cos'è l'utility Rsync?

Sincronizzazione remota (Rsync) è un noto comando Linux/Unix che puoi usare per copiare e sincronizzare file e directory via accesso remoto o localmente. Usare il comando Rsync ti permette di eseguire vari compiti legati ai dati, come sincronizzazione, copia e backup. Inoltre, puoi replicare il tuo sistema Linux su un altro.

L'idea principale dietro l'uso di Rsync con un server remoto è sfruttare il suo trasferimento file veloce; per trasformare i dati tra due fonti, considera solo le differenze tra loro. In altre parole, il comando Rsync ti aiuta a evitare di perdere tempo in trasferimenti dati ciechi, considerando solo le differenze tra i due sistemi Linux.

Perché Usare Rsync?

Come probabilmente sai, esistono vari tool di backup disponibili. La domanda è: cosa rende Rsync unico rispetto ad altri tool o comandi?

Ad esempio, puoi usare Protocollo di Trasferimento File (FTP) per avere una copia locale del tuo sito web o SCP (Protocollo di copia sicura) per questo compito. Tuttavia, entrambi hanno dei difetti. FTP non include la crittografia dei dati, il che non è ideale, e anche se SCP non ha il problema di trasferimento non crittografato come FTP, richiede comunque più tempo perché crea un tunnel.

Quindi, come soluzione alternativa, possiamo usare Rsync verso un server remoto con crittografia basata su chiave (chiamata semplicemente Rsync SSH o Rsync su SSH), che evita l'invio di dati duplicati e utilizza una chiave SSH. Tieni presente che Rsync applica compressione e decompressione durante l'invio e la ricezione dei dati, riducendo così l'uso della larghezza di banda.

Come installare Rsync?

Probabilmente hai già Rsync installato sul tuo sistema, ma analizziamo i dettagli. Prima di procedere, nota bene che SSH deve essere già installato su entrambi i sistemi (source e destination) perché vogliamo usare Rsync su SSH.

Passaggio 1: Verificare la versione di SSH

Puoi controllare la versione di SSH usando il seguente comando:

ssh -V

Per usare Rsync verso un server remoto, avrai bisogno di un server locale (source) e di un server remoto. Assicurati anche che il server locale abbia privilegi amministrativi (sudo).

Passaggio 2: Installare Rsync su Linux

Il seguente comando ti permetterà di installare Rsync su Ubuntu, Linux Mint e Debian:

sudo apt install rsync -y

Se utilizzi altre distribuzioni Linux, come Fedora, CentOS, AlmaLinux e Red Hat, digita il seguente comando per installare il servizio Rsync sul tuo sistema:

sudo dnf install rsync

Nota: apt è uno strumento utile per l'installazione dei pacchetti usato nelle distribuzioni basate su Debian.

Passaggio 3: Avviare Rsync

Ora devi avviare Rsync e poi abilitarlo per iniziare a usarlo con i seguenti comandi:

sudo systemctl start rsync 
sudo systemctl enable rsync

Passaggio 4: Verificare l'installazione di Rsync

Digita il seguente comando per verificare che tu abbia installato correttamente Rsync e per controllare quale versione stai usando sul tuo sistema Linux:

rsync --version

Nella sezione seguente, discuteremo come usare questo strumento per fare backup con autenticazione basata su chiave.

Come creare backup usando Rsync su SSH?

I backup incrementali sono uno dei casi d'uso di Rsync su SSH. Presta attenzione al seguente comando per capire come funziona:

rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir

Eseguendo il comando precedente sincronizzerai sourceDir e destinationDir. Questo comando include altre opzioni che dovresti conoscere, come -a (archive) e -v (verbose)Nota che -e ssh l'opzione richiede che la connessione Rsync avvenga tramite il protocollo SSH.

Se vuoi che Connessione SSH sia accettato su una porta diversa da quella predefinita (porta 22), devi specificare il numero di porta dopo -e ssh. Guarda il seguente comando per capire come funziona.

rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir

Nel comando precedente, assumiamo di voler usare 1998 come nostra porta SSH invece della 22.

Rsync per il trasferimento su server remoto via SSH offre altre opzioni piuttosto utili. Ad esempio, l'uso di –partial permette di riprendere un trasferimento parziale precedente in caso di problemi come un'interruzione di Rsync. Puoi anche monitorare l'avanzamento del trasferimento file tramite l'opzione –progress . Inoltre, l'utility Rsync per server remoto Linux ti consente di usare queste due funzioni contemporaneamente. Per farlo, puoi usare il -p flag da riga di comando.

rsync -avP  -e ssh /sourceDir/ user@remote:/path/to/destinationDir

Rsync per server remoto con il comando key consente di comprimere i dati prima di trasferirli alla destinazione. Sebbene userà la CPU per completare la compressione, è comunque molto utile perché rende il trasferimento file più veloce e richiede meno larghezza di banda.

Puoi usare il comando Rsync per copiare file e directory, in remoto o localmente. Il principale vantaggio di Rsync è che si basa sull' algoritmo di trasferimento delta, che evita di copiare dati duplicati dalla sorgente alla destinazione. Come accennato prima, questa funzione dell'utility Rsync per server remoto ti aiuta se vuoi gestire backup giornalieri e mirroring di sistema. Con questo in mente, usiamo il comando Rsync per i casi di uso locali.

Come usare Rsync per la sincronizzazione locale?

Prima di approfondire la sincronizzazione locale e come usare il comando Rsync per questo, dovresti conoscere la struttura generale di Rsync locale, mostrata di seguito:

rsync [options] [Source] [Destination]

Copia di file in locale

Supponiamo di voler sincronizzare o copiare un file dalla directory del desktop (chiamata Cloudzy) a /home/Public cartella; ecco quello che devi inserire:

rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public

Il comando Rsync precedente include tre opzioni come -zvh; utilizzando -z, avrai il tuo file compresso durante il trasferimento. opzione v rappresenta l'output dettagliato, e h opzione è quello che ci aiuta a leggere gli output in modo leggibile, cioè visualizzando l'output in formato leggibile.

Copia di directory in locale

Se vogliamo copiare la directory del desktop (chiamata Cloudzy) a /home/Public cartella; devi digitare il seguente comando:

rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public

Il -a l'opzione in questo comando archivia directory e file durante la sincronizzazione.

Puoi controllare rapidamente l'elenco delle directory per la cartella di destinazione per verificare se la directory è stata copiata o meno. Per farlo, usa il seguente comando:

ls -ld /home/Public

Sincronizzazione ricorsiva e locale di file e directory (Rsync ricorsivo)

Cosa succede se ci fossero diverse directory e file in /desktop/Cloudzye volessi copiarli ricorsivamente tramite il comando Rsync Linux?

In questo caso, si utilizza il opzione -r per sincronizzare ricorsivamente i tuoi file e directory locali. Puoi anche usare opzione archivio (-a) poiché ha altri casi d'uso come la copia ricorsiva. Consulta il seguente comando per familiarizzare con i comandi Rsync ricorsivi.

rsync -zrvh /desktop/Cloudzy /home/Public

Or

rsync -zrvh /desktop/Cloudzy /home/Public

Copia di Directory e File dal Sistema Locale al Sistema Remoto

Oltre alle caratteristiche di Rsync Linux sul server remoto, a cui abbiamo fatto riferimento nelle sezioni precedenti, questo comando ben noto consente anche di sincronizzare file e directory dalla macchina locale al sistema remoto.

Supponiamo di voler copiare una cartella (/desktop/Cloudzy/nuovacartella) dalla macchina locale al sistema remoto (con 192.168.1.79) sotto /mycpt; ecco un esempio che mostra come funziona:

rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt

Come Copiare Directory senza i Loro File Usando Rsync?

In alcuni casi, potremmo voler usare le capacità di Rsync Linux sul server remoto per copiare directory senza file; questa sincronizzazione potrebbe avvenire dalla macchina remota al sistema locale o viceversa.

In questo articolo, abbiamo utilizzato il sistema remoto a 192.168.1.79. Supponiamo che sia presente in /mycpt cartella e vogliamo copiare la /desktop/Cloudzy directory dal sistema locale senza includervi i suoi file. Inserisci il comando sottostante per farlo:

rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/

Altri Comandi Rsync Utili

Qui discuteremo alcuni comandi Rsync Linux aggiuntivi che potrebbero essere pratici per te.

Determina la Dimensione Massima per il Trasferimento di File in Rsync

Puoi determinare un limite di dimensione per il trasferimento di file usando il comando Rsync, che è utile quando esegui regolarmente Rsync su un server remoto e la macchina locale dove la larghezza di banda e il tempo sono fattori essenziali da considerare. Presta attenzione al seguente comando per familiarizzare con l'impostazione di limitazioni di dimensione sul trasferimento di file Rsync:

rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public

Determina la Dimensione Minima per il Trasferimento di File in Rsync

Proprio come impostare una dimensione massima per il trasferimento di file, puoi determinare la dimensione minima del file che desideri trasferire mediante lo strumento Rsync sul server remoto. Nel comando sottostante, imposteremo la dimensione minima del file a 10k:

rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public

Rimuovi File dalla Sorgente Dopo il Completamento della Sincronizzazione

Una volta terminato l'uso del comando Rsync, potresti non avere più bisogno del file nel sistema sorgente. In questo caso, puoi usare il comando Rsync Linux come segue per rimuovere i file dalla sorgente:

rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public

Sincronizzazione di Prova

Se sei nuovo all'utility Rsync Linux e non conosci bene le sue opzioni, una esecuzione di prova è l'approccio giusto. Quando usi dry run con Rsync, non modifica i file, ma ti mostra l'output del comando. Una volta verificato che vuoi eseguire il comando, puoi rimuovere –dry-run e eseguirlo nel terminale. Guarda il comando seguente per saperne di più sulla funzionalità dry run.

rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public

Riepilogo: utilizzo dei comandi Rsync di Linux

Questo articolo ha spiegato come usare Linux Rsync per le capacità di sincronizzazione da e verso server remoti, inclusi mirroring del sistema, la creazione di backup dei file e la copia di file e directory in locale e da remoto usando un approccio efficiente. Questo comando ben noto Linux ti consente di beneficiare di trasferimenti file veloci mentre usi SSH e la compressione dei dati.

Hosting Linux VPS

Scegli un Linux VPS economy o premium per ospitare il tuo sito web o desktop remoto, al prezzo più conveniente disponibile. VPS In esecuzione su Linux KVM per un'efficienza maggiore e in funzione su hardware potente con storage NVMe SSD per una velocità superiore.

Leggi di più

Puoi sfruttare al massimo questo sistema operativo scegliendo una Linux VPS da Cloudzy, che ti permette di beneficiare di piani di hosting basati su KVM. Offriamo con orgoglio servizi VPS ad alte prestazioni con 99,95% di uptime, stabilità, latenza minima, data center in tutto il mondo (12 località), storage SSD ultra-veloce e supporto tecnico 24/7. Puoi iniziare a usare Linux VPS a partire da $4,95 e scalare se desideri una soluzione più avanzata.

Domande frequenti

Quale porta TCP usa Rsync?

SSH normalmente utilizza la porta 22 come porta predefinita. Pertanto, quando utilizzi rsync su SSH, funzionerà su questa porta specifica. D'altra parte, quando usi il daemon Rsync, verrà utilizzata la porta 873.

Che cos'è Rsync?

Rsync è un'utilità Linux che sincronizza file e directory in locale o da remoto. Usando il comando Rsync puoi eseguire vari compiti legati ai dati, come sincronizzazione, copia e backup.

Condividi

Altro dal blog

Continua a leggere.

Un'immagine di titolo Cloudzy per una guida MikroTik L2TP VPN, che mostra un laptop che si connette a un rack di server tramite un tunnel digitale blu e oro luminoso con icone di scudo.
Sicurezza e Networking

Configurazione MikroTik L2TP VPN (con IPsec): Guida RouterOS (2026)

In questa configurazione MikroTik L2TP VPN, L2TP gestisce il tunneling mentre IPsec si occupa della cifratura e dell'integrità; combinarli ti dà compatibilità nativa con i client senza dipendenze da software di terze parti

Rexa CyrusRexa Cyrus 9 min di lettura
Finestra di terminale che mostra il messaggio di avviso SSH relativo alla modifica dell'identificazione dell'host remoto, con il titolo Fix Guide e il brand Cloudzy su sfondo verde acqua scuro.
Sicurezza e Networking

Avviso: l'identificazione dell'host remoto è cambiata e come risolverlo

SSH è un protocollo di rete sicuro che crea un tunnel crittografato tra i sistemi. Rimane popolare tra gli sviluppatori che hanno bisogno di accesso remoto ai computer senza richiedere un'interfaccia grafica.

Rexa CyrusRexa Cyrus lettura di 10 minuti
Illustrazione della guida alla risoluzione dei problemi del server DNS con simboli di avviso e server blu su sfondo scuro per errori di risoluzione dei nomi Linux
Sicurezza e Networking

Errore temporaneo nella risoluzione dei nomi: cosa significa e come risolverlo

Durante l'utilizzo di Linux, potresti incontrare un errore di risoluzione temporanea dei nomi quando tenti di accedere a siti web, aggiornare pacchetti o eseguire operazioni che richiedono una connessione a internet

Rexa CyrusRexa Cyrus 12 min di lettura

Pronto per il deployment? A partire da $2,48/mese.

Cloud indipendente, dal 2008. AMD EPYC, NVMe, 40 Gbps. Rimborso entro 14 giorni.