Come eseguire il backup del sistema Linux

Non rischiare la perdita di dati. Esegui il backup dei tuoi dati preziosi dalla riga di comando di Linux. Useremo il comando rsync per questo, e abbiamo anche trovato alcune belle interfacce grafiche opzionali per questo.

Esistono molti modi per eseguire una copia di backup dei file. Volevamo mostrarti un modo solido, flessibile e affidabile per proteggere i tuoi dati. Scegliamo rsync per il suo algoritmi ben rispettati che calcolano le differenze tra i file nella directory di origine e nella directory di destinazione. Vengono trasferite solo le differenze tra due versioni di un file, non l’intero file se ciò può essere evitato.

Quando questa efficienza è abbinata alla sua solida esperienza nell’esecuzione di copie di file e sincronizzazioni di directory dalla metà degli anni ’90, rsync è un candidato perfetto per la creazione di backup dalla riga di comando di Linux.

Inoltre, esistono programmi software indipendenti che fungono da front-end per rsync. Forniscono interfacce utente grafiche (GUI) per rsync che alcune persone potrebbero trovare più facili da usare.

Più semplice e veloce è eseguire un backup, più è probabile che tu lo faccia.

Utilizzo di rsync con un disco rigido esterno

Per eseguire una copia di backup dei dati su un disco rigido esterno, il disco rigido deve essere montato e accessibile all’utente. Se puoi scriverci, anche rsync. In questo esempio, un disco rigido USB esterno chiamato SILVERXHD (per “Silver eXternal Hard Drive”) è collegato al computer Linux. È stato montato automaticamente dal sistema operativo.

Avrai bisogno di conoscere il percorso per l’unità. In GNOME, apri il browser di file Nautilus e individua il nome dell’unità nella barra laterale.

Passa il puntatore del mouse sul nome dell’unità esterna e un suggerimento ti mostrerà il percorso dell’unità.

descrizione comando per un'unità esterna

In questo esempio, la descrizione comando ci informa che il punto di montaggio per il filesystem sull’unità esterna è “/ media / dave / SILVERXHD”.

Se il browser di file non esegue questa operazione, accedere all’unità esterna e aprire una finestra di terminale in quella posizione. Utilizzare il comando pwd per stampare il percorso della finestra del terminale.

Copia dei contenuti dalla directory di origine

Per utilizzare rsync per copiare il contenuto di una directory nella destinazione di backup, utilizzare il seguente comando.

  Come eliminare Wine da Linux

L’opzione -r (ricorsiva) fa sì che rsync copi tutte le sottodirectory annidate e il loro contenuto. Nota che c’è una barra “/” alla fine della parola “SILVERXHD”, ma è andata a capo alla riga successiva nello screenshot.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/

rsync -r / home / dave / Documents / / media / dave / SILVERXHD / in una finestra di terminale

Viene eseguita la copia del file e si torna al prompt della riga di comando.

Se guardiamo l’unità USB esterna, vediamo che le directory che si trovano nella directory Documenti sono state copiate nella radice dell’unità esterna.

ls

È in una finestra di terminale

Copia della directory di origine e dei suoi contenuti

Se si desidera che la directory Documents e il suo contenuto vengano copiati sull’unità esterna, rimuovere “/” dalla fine di “/ home / dave / Documents” nella riga di comando, in questo modo:

rsync -r /home/dave/Documents /media/dave/SILVERXHD/

rsync -r / home / dave / Documents / media / dave / SILVERXHD / in una finestra di terminale

Per evitare confusione, ho rimosso le due directory precedentemente copiate dall’unità esterna prima che fosse eseguito questo secondo comando.

Se lasciamo completare la seconda copia e diamo un’altra occhiata all’unità esterna, vediamo che la directory Documenti è stata copiata. I suoi contenuti sono all’interno di quella directory. Non si trovano nella directory principale dell’unità esterna.

È in una finestra di terminale

Copia in una directory di destinazione specifica

Per copiare in una directory specifica sul disco rigido di destinazione, aggiungere il nome della directory al percorso di destinazione. Supponiamo di voler copiare il contenuto della directory “/ home / dave / Documents” in una directory chiamata “backups” sull’unità esterna.

Lo faremo con il seguente comando.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/

rsync -r / home / dave / Documents / / media / dave / SILVERXHD / backups / na finestra del terminale

Controllando sull’unità esterna possiamo vedere che la directory dei backup è stata creata, e all’interno di quella directory ci sono i contenuti della directory “/ home / dave / Documents”.

ls
ls backups

Uscita da ls in una finestra di terminale

Preservare la proprietà e le autorizzazioni dei file

Utilizzare l’opzione -a (archivio) per preservare gli attributi dei file come le date di modifica, la proprietà del file, i permessi di accesso e altro, per i file copiati, i collegamenti simbolici e i file di blocco speciali.

rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/

rsync -ra / home / dave / Documents / / media / dave / SILVERXHD / backups / in una finestra di terminale

Utilizzo della modalità dettagliata

L’opzione -v (verbose) forza rsync a elencare i file mentre vengono copiati.

rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/

rsync -rav / home / dave / Documents / / media / dave / SILVERXHD / backups / in una finestra di terminale

Al termine della copia viene presentato un riepilogo del backup.

output dettagliato da rsync in una finestra di terminale

Inviati: i byte trasferiti alla destinazione.
Ricevuti: i byte ricevuti dall’host.
Byte / sec: è la velocità di trasferimento effettiva.
Dimensione totale: rappresenta la dimensione dei dati che sarebbero stati inviati se non si stesse utilizzando rsync. Nelle successive esecuzioni di rsync trasferirà solo le differenze di file. Questa cifra rappresenterà i dati che non dovevano essere trasferiti.
Accelerazione: questo è il rapporto tra la quantità di dati che dovevano essere inviati e la quantità totale di dati presenti. Se rsync ha bisogno di copiare tutti i file nella loro interezza (la prima volta che viene eseguito, per esempio) lo speedup sarà 1.0. Quando rsync viene utilizzato successivamente, ottimizzerà i trasferimenti. Invierà solo le differenze tra i file, non i file interi. I file senza modifiche verranno ignorati. La cifra relativa alla velocità rappresenterà il rapporto tra la piccola quantità di dati che era necessario trasferire e la dimensione totale dei file.

  Come confrontare due file di testo nel terminale Linux

Utilizzo dell’opzione Progress

L’opzione -P (progresso) fa in modo che rsync generi un piccolo rapporto sullo stato di avanzamento dopo che ogni file è stato copiato.

rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/

rsync -raP / home / dave / Documents / / media / dave / SILVERXHD / backups / in una finestra di terminale

Le informazioni fornite possono essere visualizzate tra ogni file copiato.

rsync l'output con il progresso in una finestra di terminale

Le informazioni fornite sono:

Dimensione byte: dati trasferiti per questo file.
Percentuale: percentuale del file trasferito.
B / s: velocità di trasferimento dati.
Tempo rimanente: tempo stimato rimanente per trasferire questo file.
xfr #: il numero di file trasferiti finora.
to-chk: il numero di file che devono essere controllati e verificati dagli algoritmi di ottimizzazione.

Aggiungere più velocità

Per velocizzare i trasferimenti, usa l’opzione -z (compressione). Questo comprime il file in trasferimento, ma il file viene memorizzato non compresso nella directory di destinazione.

L’opzione di compressione non produrrà vantaggi significativi per i trasferimenti che coinvolgono molti file di piccole dimensioni. Per raccolte di file più grandi, può ridurre il tempo di trasferimento in modo significativo.

Stiamo anche usando l’opzione –partial qui. rsync eliminerà i file parzialmente trasferiti causati da problemi di rete o altre interruzioni. L’opzione –partial forza rsync a lasciare i file parzialmente trasferiti sulla destinazione. Il tempo netto di esecuzione di rsync non dovrà ritrasferire le parti dei file parzialmente trasferiti.

Tieni presente che potresti non voler utilizzare questa opzione se c’è il rischio che qualcuno confonda i file trasferiti parzialmente per file trasferiti completamente.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/

rsync -ravz --partial / home / dave / Documents / / media / dave / SILVERXHD / backups / in una finestra di terminale

Nel nostro esempio, i vantaggi sono marginali.

rsync output in una finestra di terminale

Il rapporto di accelerazione è migliorato, ma di due centesimi di percentuale! In uno scenario reale, i tuoi miglioramenti di velocità saranno più impressionanti.

Utilizzo di rsync su una rete

Finora abbiamo preso di mira un’unità USB esterna. Per utilizzare un percorso di rete come destinazione per il backup, utilizzare il percorso di tale posizione sulla riga di comando. C’è un dispositivo di archiviazione collegato alla rete (NAS) sulla rete su cui è stato ricercato questo articolo.

Possiamo usare lo stesso trucco che abbiamo usato in precedenza per identificare il percorso al NAS, passando il mouse sulla connessione a quel dispositivo in Nautilus.

Non ci sono opzioni speciali per il backup su una rete; queste sono tutte opzioni che abbiamo già utilizzato.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/NAS/dave/backups/

rsync -ravz --partial / home / dave / Documents / / media / dave / NAS / dave / Backups / in una finestra di terminale

Non c’è differenza nel formato dell’output.

rsync output in una finestra di terminale

Non sorprende che vi sia un miglioramento significativo nella cifra Byte / sec.

  Come utilizzare il comando pinky su Linux

Se eseguiamo nuovamente rsync, possiamo vedere che non ci sono file da trasferire perché non sono state apportate modifiche, ma ci sono ancora alcuni byte trasferiti avanti e indietro. Questa è la quantità di dati che deve essere trasferita per confrontare l’elenco dei file sulla destinazione con l’elenco dei file sull’origine.

output fromrsync senza file da trasferire in una finestra di terminale

Il rapporto di accelerazione è un ordine di grandezza migliore in questo caso. In pratica, i tuoi rapporti di prestazione saranno da qualche parte tra le nostre due letture pseudo-artificiali.

Utilizzo di rsync su SSH

rsync supporta il backup attraverso una connessione SSH. Dobbiamo fornire il nome dell’account utente e la posizione SSH sulla riga di comando. Stiamo usando un nome di rete qui, ma puoi anche usare un indirizzo IP.

Notare il “:” tra i dettagli della connessione SSH e l’inizio del percorso di rete sulla destinazione remota.

rsync -ravz  --partial /home/dave/Documents/ [email protected]:/home/dave/Backups/

rsync -ravz --partial / home / dave / Documents / dave@sulaco.local: / home / dave / Backups / in una finestra di terminale

Ti verrà richiesta la password dell’account utente sulla macchina remota. Questa non è la tua password sulla macchina di origine.

rsync su una connessione ssh in una finestra di terminale

Il backup verrà completato come al solito. Il throughput non è veloce come una normale connessione di rete, a causa della crittografia e della decrittografia che avvengono nella connessione shell sicura.

Automatizzazione dei backup

Possiamo creare facilmente backup automatici aggiungendo voci al tuo file crontab.

crontab -e

crontab -e in una finestra di terminale

Configureremo un backup automatico da eseguire ogni giorno alle 04:30 (se il computer è acceso a quell’ora, ovviamente). La sintassi del comando rsync non cambia affatto.

crontab si apre in nano in una finestra di terminale

Ctrl + O scriverà le modifiche nel file e Ctrl + X chiuderà l’editor nano.

Mettere una faccia amichevole su Rsync

Le persone che sono meno a loro agio con la riga di comando possono utilizzare uno dei numerosi programmi che mettono un’interfaccia utente grafica (GUI) su rsync. Due buoni esempi sono luckyBackup e Grsync. Entrambi questi programmi consentono di selezionare molte delle opzioni di rsync tramite l’interfaccia utente.

Il programma Grsync si concentra sull’essere un wrapper visivo per rync. Fornisce un facile accesso alle opzioni rsync e aggiunge solo un insieme limitato di nuove funzionalità.

Una delle finestre di dialogo delle impostazioni di Grsync,Una delle finestre di dialogo delle impostazioni di Grsync,

Il programma luckyBackup è molto più di un semplice wrapper per rsync. È un programma di backup che utilizza rsync dietro le quinte. Ad esempio, luckyBackup può creare più “istantanee” del backup. È quindi possibile “ripristinare” le versioni dei file in una qualsiasi delle istantanee.

Una delle finestre di dialogo delle impostazioni di luckyBackupUna delle finestre di dialogo delle impostazioni di luckyBackup.

Per installare Grsync

Per installare Grsync in Ubuntu, usa questo comando:

sudo apt-get install grsync

sudo apt-get install grsync in una finestra di terminale

Per installare Grsync in Fedora, usa questo comando:

sudo dnf install grsync

sudo dnf installa grsync

Per installare Grsync in Manaro usa questo comando:

sudo pacman -Syu grsync

sudo pacman -Syu grsync in una finestra di terminale

Per installare luckyBackup

Per installare luckyBackup in Ubuntu, usa il seguente comando:

sudo apt-get install luckybackup

sudo apt-get install luckybackup in una finestra di terminale

Per installare luckyBackup in Fedora usa il seguente comando:

sudo dnf install luckybackup

sudo dnf installa luckyback in una finestra di terminale

In Manjaro devi installare luckyBackup dal file Arch User Repository (AUR). Puoi farlo con il gestore di pacchetti pamac.

il gestore di pacchetti pamac

Non rischiare, esegui spesso il backup dei dati

I backup sono assolutamente vitali. Backup frequente, backup in molte posizioni e backup su supporti diversi. Una volta impostato, rsync può fare tutto questo per te.