Che tu sia un amministratore o un utente normale, molto probabilmente dovrai creare backup regolari dei tuoi file o sincronizzarli tra diversi sistemi. Se questa attività richiede la sovrascrittura di tutti i file ogni volta, sarà dispendiosa in termini di tempo e faticosa per te; È qui che lo strumento Linux Rsync to remote server viene in tuo soccorso. Questa guida ti familiarizzerà con i comandi Rsync più utili, consentendoti di utilizzare le sue funzionalità veloci e sicure.
Cos'è l'utilità Rsync?
Sincronizzazione remota (Rsync) è un noto comando Linux/Unix che puoi utilizzare per copiare e sincronizzare file e directory tramite accesso remoto o localmente. L'uso del comando Rsync consente di eseguire varie attività relative ai dati, come la sincronizzazione, la copia e il recupero dei backup. Inoltre, puoi eseguire il mirroring del tuo sistema Linux su un altro.
L'idea principale alla base dell'utilizzo di Rsync sul server remoto è sfruttare il rapido trasferimento dei file; per trasformare i dati tra due fonti, considera solo le differenze tra loro. In altre parole, l'utilizzo del comando Rsync ti aiuterà a evitare di perdere tempo nel trasferimento cieco dei dati poiché considera solo le differenze tra i due sistemi Linux.
Perché usare Rsync?
Come forse già saprai, sono disponibili vari strumenti di backup da utilizzare. La domanda è: cosa rende lo strumento Rsync unico rispetto ad altre utilità 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, questi due presentano entrambi degli inconvenienti. FTP non include la crittografia dei dati, cosa che non è ciò che speriamo, e anche se SCP non ha un problema di trasferimento non crittografato come FTP, richiede comunque più tempo per il trasferimento poiché crea un tunnel per farlo.
Pertanto, come soluzione alternativa a questi problemi, possiamo utilizzare Rsync su server remoto con crittografia basata su chiave (chiamata semplicemente Rsync SSH o Rsync over SSH) che impedisce l'invio di dati duplicati e utilizza una chiave SSH. Dovresti anche notare che Rsync utilizza la compressione e la decompressione per ricevere e inviare dati, portando a un minore utilizzo della larghezza di banda.
Come installare Rsync?
Probabilmente hai già installato Rsync sul tuo sistema; tuttavia, entriamo nei dettagli. Prima di farlo, presta attenzione che SSH deve essere già installato sia nel sistema di origine che in quello di destinazione poiché vogliamo utilizzare Rsync su SSH.
Passaggio 1: verifica della versione SSH
Puoi verificare la versione di SSH utilizzando il seguente comando:
ssh -V
Per eseguire la sincronizzazione su un server remoto, dovrai disporre di un server locale, ovvero l'origine, e del server remoto. Dovresti anche assicurarti che il server locale disponga di privilegi amministrativi (sudo).
Passaggio 2: installazione di Rsync Linux
Il seguente comando ti consentirà 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 Rsync sul servizio server remoto sul tuo sistema:
sudo dnf install rsync
Nota: apt è un utile strumento di installazione dei pacchetti utilizzato nelle distribuzioni basate su Debian.
Passaggio 3: avvio di Rsync
Ora devi avviare e quindi abilitare Rsync per iniziare a utilizzarlo tramite i seguenti comandi:
sudo systemctl start rsync
sudo systemctl enable rsync
Passaggio 4: verifica dell'installazione di Rsync
Inserisci il seguente comando per assicurarti di aver installato Rsync correttamente e per verificare quale versione stai utilizzando sul tuo sistema Linux:
rsync --version
Nella sezione seguente, discuteremo come utilizzare la capacità di questo strumento per eseguire backup tramite autenticazione basata su chiave.
Come creare backup utilizzando Rsync su SSH?
Effettuare backup incrementali è uno dei casi d'uso di Rsync su SSH. Si prega di prestare attenzione al seguente comando per capire come funziona:
rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir
L'esecuzione del comando precedente ti aiuterà a sincronizzare fonteDir E destinazioneDir. Questo comando include altre opzioni con cui dovresti avere familiarità, come -a (archivio) E -v (verboso). Notare che -e ssh l'opzione richiede che la connessione Rsync avvenga tramite il protocollo SSH.
Se vuoi il Connessione SSH per essere accettato su una porta diversa da quella predefinita (porta 22), è necessario menzionare 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, supponiamo di voler utilizzare 1998 come porta SSH anziché 22.
Rsync al server remoto tramite SSH ha altre opzioni che possono essere molto utili. Ad esempio, utilizzando il file -parziale l'opzione consente di continuare il trasferimento parziale precedente in caso di problemi come l'interruzione di Rsync. Puoi anche conoscere l'attuale avanzamento del trasferimento file tramite il file -progressi opzione. Inoltre, l'utilità Linux Rsync to remote server ti consente di utilizzare queste due funzionalità contemporaneamente. Per fare ciò, puoi utilizzare il file -p flag nella riga di comando.
rsync -avP -e ssh /sourceDir/ user@remote:/path/to/destinationDir
La sincronizzazione con il server remoto con comando chiave consente di comprimere i dati prima di trasferirli alla destinazione. Anche se utilizzerà la CPU per completare la compressione, è comunque molto utile poiché rende il trasferimento dei file più veloce e richiede un minore utilizzo della larghezza di banda.
È possibile utilizzare il comando Rsync per copiare file e directory, remoti o locali. Il vantaggio principale di Rsync è che si basa su Algoritmo di trasferimento delta, che impedisce la copia dei dati duplicati dall'origine alla destinazione. Come accennato in precedenza, questa funzionalità dell'utilità Rsync to remote server ti aiuta se desideri gestire backup giornalieri e mirroring del sistema. Con questo in mente, utilizziamo il comando Rsync per casi d'uso locali.
Come utilizzare Rsync per la sincronizzazione locale?
Prima di approfondire la sincronizzazione locale e come utilizzare il comando Rsync, dovresti conoscere la struttura generale di Rsync locale, mostrata di seguito:
rsync [options] [Source] [Destination]
Copia dei file localmente
Supponiamo di voler sincronizzare o copiare un file dalla directory del desktop (chiamata Cloudzy) A /home/Pubblico cartella; ecco cosa devi inserire:
rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public
Il comando Rsync sopra include tre opzioni come -zvh; utilizzando -z, il tuo file verrà compresso durante il trasferimento. opzione v sta per output dettagliato e the opzione h è ciò che ci aiuta a leggere gli output come esseri umani, ovvero a visualizzare output leggibili dall'uomo.
Copia delle directory localmente
Se vogliamo copiare la directory del desktop (chiamata Cloudzy) A /home/Pubblico cartella; è necessario digitare il comando seguente:
rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public
IL -a L'opzione in questo comando archivia directory e file durante la sincronizzazione.
È possibile controllare rapidamente l'elenco delle directory della cartella di destinazione per verificare se la directory è stata copiata o meno. Per fare ciò, utilizzare il seguente comando:
ls -ld /home/Public
Sincronizzazione di file e directory in modo ricorsivo e locale (Recursive Rsync)
Cosa succederebbe se ci fossero più directory e file nel file /desktop/Cloudzye volevi copiarli ricorsivamente tramite il comando Linux Rsync?
In questo caso, usi il file -r opzione per sincronizzare ricorsivamente i file e le directory locali. Puoi anche usare il opzione di archivio (-a) poiché ha altri casi d'uso come la copia ricorsiva. Si prega di guardare il seguente comando per avere familiarità con i comandi ricorsivi di Rsync.
rsync -zrvh /desktop/Cloudzy /home/Public
Or
rsync -zrvh /desktop/Cloudzy /home/Public
Copia di directory e file dal sistema locale a quello remoto
A parte le caratteristiche di Linux Rsync per il server remoto, di cui abbiamo parlato nelle sezioni precedenti, questo noto comando consente anche di sincronizzare file e directory dal computer 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 le directory senza i relativi file utilizzando Rsync?
In alcuni casi, potremmo voler utilizzare Linux Rsync per le funzionalità del server remoto per copiare directory senza file; questa sincronizzazione potrebbe avvenire dal computer remoto al sistema locale o viceversa.
In questo articolo, abbiamo utilizzato il sistema remoto su 192.168.1.79. Supponiamo di averlo sotto /mycpt cartella e desideri copiare il file /desktop/Cloudzy directory dal sistema locale senza includerne i file. Per favore inserisci il comando seguente per farlo:
rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/
Altri comandi Rsync utili
Qui discuteremo alcuni comandi aggiuntivi di Linux Rsync che possono essere pratici per te.
Determina la dimensione massima per il trasferimento di file in Rsync
È possibile determinare una dimensione limite per il trasferimento dei file utilizzando il comando Rsync, che è utile quando si esegue regolarmente Rsync su un server remoto e sul computer locale dove la larghezza di banda e il tempo sono fattori essenziali da considerare. Presta attenzione al seguente comando per acquisire familiarità con l'impostazione dei limiti 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 tramite Rsync allo strumento server remoto. Nel comando seguente, imposteremo la dimensione minima del file su 10k:
rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public
Rimuovere i file dall'origine al termine della sincronizzazione
Una volta terminato di utilizzare il comando Rsync, potrebbe non essere più necessario avere il file sul sistema di origine. In questo caso, puoi utilizzare il comando Linux Rsync come di seguito per rimuovere i file dall'origine:
rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Sincronizzazione del funzionamento a secco
Se non hai familiarità con l'utilità Linux Rsync e non hai familiarità con le sue opzioni, a prova a secco è un modo corretto di procedere. Quando usi l'esecuzione di prova con Rsync, non modificherà i file, ma mostrerà l'output del comando. Dopo esserti assicurato di voler eseguire il comando, puoi rimuovere il file –funzionamento a secco opzione da esso ed eseguirlo sul terminale. Guarda il comando seguente per saperne di più sulla funzionalità di prova.
rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Riepilogo: utilizzo dei comandi Rsync di Linux
Questo articolo spiega come utilizzare le funzionalità di Linux Rsync su server remoto (e Rsync su server locale) per vari casi d'uso, tra cui mirroring del sistema, creando un backup di file e copiando file e directory localmente e in remoto utilizzando un approccio efficiente. Questo noto comando Linux ti consente di trarre vantaggio dal trasferimento rapido dei file consentendoti allo stesso tempo di utilizzare SSH e la compressione dei dati.
Procurati un VPS Linux economico o premium per l'hosting del tuo sito web o desktop remoto, al prezzo più conveniente in circolazione. VPS in esecuzione su Linux KVM per una maggiore efficienza e funzionante su hardware potente con storage SSD NVMe per una maggiore velocità.
Per saperne di piùPuoi ottenere il massimo da questo sistema operativo ottenendo un file VPS Linux soluzione di Cloudzy, che ti consente di beneficiare di piani di hosting basati su KVM. Siamo orgogliosi di offrirti servizi VPS ad alte prestazioni con uptime del 99,95%, stabilità, latenza minima, data center in tutto il mondo (12 sedi), archiviazione SSD ultraveloce e supporto tecnico 24 ore su 24, 7 giorni su 7. Potresti iniziare a utilizzare il tuo VPS Linux a $ 4,95 e ridimensionarlo se desideri una soluzione più avanzata.
Domande frequenti
Quale porta TCP utilizza Rsync?
SSH in genere utilizza la porta 22 come porta predefinita. Pertanto, quando si utilizza rsync su SSH, funzionerà su questa particolare porta. D'altra parte, quando si utilizza il demone Rsync, verrà utilizzata la porta 873.
Cos'è Rsync?
Rsync è un'utilità Linux in grado di sincronizzare file e directory in remoto o localmente. L'uso del comando Rsync consente di eseguire varie attività relative ai dati, come la sincronizzazione, la copia e il recupero dei backup.