Copiare dati da un server dedicato a un altro con rsync
Come effettuare la copia dei dati tra server utilizzando il software rsync
Come effettuare la copia dei dati tra server utilizzando il software rsync
Durante le operazioni di migrazione e backup, potrebbe essere necessario copiare o trasferire i dati contenuti in un server su un’altra macchina.
Distribuito sotto licenza GNU GPL, rsync (da “remote synchronization”) è un software open source per la sincronizzazione dei file, in grado di effettuare l’operazione in modo unidirezionale attraverso una sola trasmissione di dati per ogni direzione di comunicazione (server sorgente-server di destinazione).
Questa guida ti mostra come utilizzare rsync per copiare dati da un server dedicato OVHcloud a un altro.
Questa guida contiene informazioni relative all’utilizzo di una o più soluzioni OVHcloud con tool esterni in un contesto ben preciso: adatta le indicazioni fornite alla tua situazione e, in caso di difficoltà o dubbi, rivolgiti a un esperto del settore o alla nostra Community di utenti, disponibile all’indirizzo https://community.ovh.com/en/. OVHcloud non potrà fornirti assistenza.
Nel nostro tutorial utilizzeremo un server sorgente con Debian 9.4, che include nativamente rsync nei suoi repository. Il software potrà quindi essere installato direttamente, accedendo alla macchina sorgente via SSH con l’utente root ed eseguendo il comando:
apt-get update && apt-get install rsync
Rsync permette di copiare su un’altra macchina tutte le cartelle, sottocartelle e file inclusi nel percorso indicato.
Per eseguire questa operazione, la struttura generale del comando deve essere di questo tipo: rsync -av source/ destination/
Per connettersi alla macchina di destinazione, rsync utilizza il protocollo SSH ed è quindi necessario aggiungere gli identificativi corrispondenti. Il comando precedente dovrà quindi essere completato in questo modo: rsync -av *YourLocalFolder*/ login@server:/*DestinationFolder*/
Se hai modificato la porta SSH scegliendone una diversa dalla 22, per stabilire la connessione SSH sarà necessario precisarne il numero aggiungendo -e 'ssh -p X'
al comando (dove “X” è la porta SSH da utilizzare).
Il comando per copiare i dati da un server all’altro sarà quindi:
rsync -av -e 'ssh -p X' YourLocalFolder/ login@server:/DestinationFolder/
Di default non viene mostrato alcun indicatore della progressione dell’operazione.
Per consultare facilmente (tramite statistiche dettagliate ed espresse in MB, GB, ecc...) e in tempo reale lo stato di avanzamento del trasferimento, ti consigliamo di aggiungere l’argomento -P --stats --human-readable
al comando, che diventerà quindi:
sh
rsync -av -P --stats --human-readable -e 'ssh -p X' YourLocalFolder/ login@server:/DestinationFolder/
Nonostante rsync permetta di trasferire tutti i file di una macchina, è possibile scegliere di escludere alcune cartelle o sottocartelle dalla copia elencandone il nome sul server.
In generale consigliamo di non trasferire la cache e i file di sistema temporanei del server sorgente, per evitare eventuali conflitti sul server di destinazione.
Ecco una lista non esaustiva di alcune cartelle che, in un server con distribuzione GNU/Linux, potrebbero contenere questi file:
Una volta definita la lista di cartelle e sottocartelle da escludere, utilizza l’argomento --exclude
per indicare a rsync di ignorarle durante la copia.
Questo argomento dovrà essere inserito alla fine del comando e ripetuto per ogni cartella o sottocartella da escludere. La struttura generale del comando sarà quindi di questo tipo: rsync --exclude="Folder_Name" --exclude="Other_Folder_name" source/ destination/
Ti ricordiamo che rsync non considera i percorsi assoluti ed è quindi necessario indicare la posizione relativa della cartella. Se, ad esempio, la cartella da escludere è localizzata in /home/user/test e sei posizionato all’interno di /test, è necessario indicare --exclude="test" (percorso relativo) e non --exclude="/home/user/test" (percorso assoluto).
Sulla base di queste ultime considerazioni, il comando di trasferimento sarà quindi:
rsync -av -P --stats --human-readable -e 'ssh -p X' --exclude="Folder_Name" --exclude="Other_Folder_name" YourLocalFolder/ login@server:/DestinationFolder/
A questo punto, dovresti essere in grado di copiare i dati del tuo server dedicato su un’altra macchina grazie a rsync.
Contatta la nostra community di utenti all’indirizzo https://community.ovh.com/en/.
Prima di inviare la valutazione, proponici dei suggerimenti per migliorare la documentazione.
Immagini, contenuti, struttura... Spiegaci perché, così possiamo migliorarla insieme!
Le richieste di assistenza non sono gestite con questo form. Se ti serve supporto, utilizza il form "Crea un ticket" .
Grazie per averci inviato il tuo feedback.
Accedi al tuo spazio nella Community Fai domande, cerca informazioni, pubblica contenuti e interagisci con gli altri membri della Community OVHcloud
Discuss with the OVHcloud community