Introduzione
Il backup dei dati è una parte essenziale delle infrastrutture sia individuali che aziendali. Le macchine con il sistema operativo Linux possono utilizzare rsync e ssh per facilitare il processo.
Risincronizzazione è un'utilità della riga di comando che consente di trasferire file in posizioni locali e remote. Rsync è comodo da usare poiché viene fornito di default con la maggior parte delle distribuzioni Linux. Puoi personalizzare lo strumento utilizzando molte delle opzioni disponibili.
In questo caso d'uso, utilizzeremo SSH in combinazione con rsync per proteggere il trasferimento dei file.
Segui questo tutorial per imparare come utilizzare rsync per eseguire il backup dei dati . La guida elencherà alcuni esempi per illustrare come funziona il processo.
Prerequisiti
- Sudo o root privilegi o un utente con accesso alle directory di backup e di destinazione
- Accesso SSH a un server tramite riga di comando/finestra del terminale
- Rsync installato sul computer locale e di destinazione
Sintassi Rsync di base per trasferimenti locali ed esterni
La sintassi per l'utilizzo dello strumento rsync è diversa per i trasferimenti locali e remoti.
Per i backup locali, la sintassi segue questo schema di base:
rsync
options
SOURCE DESTINATION
Per trasferire i file in una posizione esterna, utilizzeremo uno schema leggermente diverso:
rsync
options
SOURCE [email protected]_or_hostname:DESTINATION
In entrambi i casi, l'origine e la destinazione sono una directory o un percorso di file.
Backup dei dati con Rsync
Per una migliore comprensione di ciò che fa rsync, utilizzeremo l'opzione dettagliata -v
. Inoltre, poiché eseguiremo il backup dei dati nelle directory, utilizzeremo la modalità di archiviazione -a
per la sincronizzazione ricorsiva. Ci sono molte opzioni ed esempi di rsync, quindi usa quelli che ti servono per il tuo caso d'uso.
Rsync Dry Run - Precauzioni
L'utilità rsync ti consente di manipolare i tuoi dati in diversi modi. Quindi, fai attenzione quando esegui il backup dei tuoi file. Se usi un'opzione sbagliata o una destinazione sbagliata, potresti finire per mescolare i tuoi dati. Peggio ancora, potresti sovrascrivere o eliminare i file involontariamente.
Per questo motivo, usa il --dry-run
opzione per confermare che lo strumento fa quello che vuoi fare. Può verificarsi una perdita di dati accidentale, ma questa opzione aiuta a prevenirla.
Per i trasferimenti semplici, potrebbe non essere necessario utilizzare --dry-run
, ma quando è in questione un insieme di dati più ampio, ti consigliamo vivamente di farlo.
Usa il formato della sintassi di base e aggiungi --dry-run
:
rsync
options
--dry-run SOURCE DESTINATION
Utilizzare Rsync per eseguire il backup dei dati in locale
Inizieremo eseguendo un backup di una directory sulla stessa macchina Linux. Il percorso può essere qualsiasi posizione:un'altra partizione, disco rigido, memoria esterna, ecc.
Utilizza il percorso completo sia per l'origine che per la destinazione per evitare errori.
Ad esempio, per eseguire il backup di una Dir1 da Documenti su /media/hdd2/rscync_backup , usa il comando rsync in questo modulo:
rsync -av /home/test/Documents/Dir1 /media/hdd2/rsync_backup
L'output mostra l'elenco dei file e delle directory trasferiti e altri dettagli di trasferimento.
Utilizzare Rsync per eseguire il backup dei dati sulla rete
Per un backup sicuro dei dati sulla rete, rsync utilizza SSH per i trasferimenti. Il tuo server deve essere impostato per consentire la connessione SSH.
Una volta che sei riuscito a connetterti alla macchina remota tramite SSH, puoi iniziare a eseguire il backup dei tuoi dati in una posizione su quella macchina.
Ad esempio, per eseguire il backup di Dir1 per fare il backup su un altro computer in rete, inserisci:
rsync -av /home/test/Documents/Dir1 [email protected]:/home/test/backup
L'output elenca le directory e i file rsync trasferiti su un'altra macchina.
Puoi controllare se i file si trovano davvero sul server remoto:
Se ti connetti per la prima volta, dovrai inserire la tua password e confermare quando ricevi una richiesta. Non è necessario inserire un nome utente per i trasferimenti remoti se vuoi connetterti come utente corrente.
L'esempio che abbiamo utilizzato qui presuppone che SSH utilizzi la porta predefinita. Se è necessario specificare una porta diversa per la connessione SSH, utilizzare il -e
flag e inserisci le opzioni SSH.
Per specificare la porta 4455, ad esempio, eseguire il comando precedente in questo formato:
rsync -av -e 'ssh -p 4455' /home/test/Documents/Dir1 [email protected]:/home/test/backup
Se necessario, puoi eliminare i file di origine dopo averli trasferiti in un'altra posizione.
Comprimi i dati durante il backup con Rsync
Per risparmiare spazio, puoi comprimere i tuoi dati prima di trasferirli in un'altra posizione. Puoi utilizzare l'opzione integrata di rsync per comprimere i dati oppure puoi utilizzare uno strumento diverso per farlo prima di eseguire rsync.
Per comprimere i dati durante il trasferimento, utilizza il -z
cambia con il tuo rsync
comando.
rsync -avz /home/test/Documents/Dir1 [email protected]:/home/test/backup
Un'altra opzione è usare il zip
comando per comprimere i file o la directory e quindi eseguire rsync
. Nel nostro caso, zippareremo Dir1 in Dir.zip :
zip /home/test/Documents/Dir1.zip /home/test/Documents/Dir1
Quindi trasferisci il file in un'altra posizione:
rsync -avz /home/test/Documents/Dir1.zip [email protected]:/home/test/backup
Ora hai una copia zippata della tua directory su un server remoto. Puoi farlo anche per i trasferimenti locali se desideri avere un backup su un'altra unità o partizione.