Come usare il programma Restic Backup su Linux

Contenuti

Proteggi i tuoi file preziosi e le foto insostituibili con il programma di backup restic. È veloce, crittografato e puoi usarlo direttamente dalla riga di comando di Linux. Ecco come configurarlo.

Il valore dei backup

Tutto l'hardware ha una durata limitata. Meccanico Dischi fissi (Dischi fissi) e unità a stato solido (SSD) non durano in modo permanente. Anche gli incidenti accadono. I laptop possono essere persi, rubare o scendere le scale.

Si diceva che il valore di un sistema di backup efficace diventa chiaro solo una volta che i dati sono stati persi. Quando si verificano guasti o perdite, devi avere un modo semplice e veloce per recuperare i tuoi file e le tue informazioni. Se un'organizzazione perde dati, le implicazioni sono serie. Potrebbe persino compromettere la continuità aziendale. Anche in un ambiente domestico, la perdita di dati può essere un'esperienza dolorosa. I backup sono le uniche salvaguardie sensate.

E allo stesso tempo da tutto il resto, la perdita accidentale o dolosa di dati di identificazione personale è considerata una violazione ai sensi di alcune leggi sulla protezione dei dati, come la Regolamento generale sulla protezione dei dati (GDPR).

Ci sono un paio di considerazioni a cui prestare attenzione quando si seleziona il software di backup. Dove vuoi che vengano archiviati i tuoi backup?? Su un'unità rimovibile, su un'altra macchina tramite il tuo Rete locale (LAN) o nel cloud storage? Apparentemente, è necessario utilizzare un programma di backup in grado di scrivere e ripristinare dall'archivio dati che si desidera utilizzare.

I backup devono essere crittografati, soprattutto se devono essere archiviati fuori sede o nel cloud. Se sono criptati, non possono essere letti o ripristinati da persone non autorizzate.

Il programma deve essere veloce. Non vorrai aspettare tutto il giorno per il completamento di un backup o di un ripristino. Alcuni programmi memorizzano un'immagine di backup di base e successivamente memorizzano le differenze tra l'immagine di base e la macchina di origine per ogni backup successivo. Ciò velocizza notevolmente la procedura di backup. Utilizza anche meno spazio per i tuoi backup.

restic fa tutto questo. È senza costi, open source, concesso in licenza da 2-Clausola di licenza BSDe in attivo sviluppo. Il codice sorgente è attivato GitHub.

Dove eseguire il backup?

In questo post, memorizzeremo i nostri backup su un altro computer della nostra rete. È fantastico, perché fornisce trasferimenti di file veloci ed è facile eseguire il backup e il ripristino da. In un ambiente del mondo reale, inoltre è necessario un backup in un'altra posizione fuori sede. Se i tuoi sistemi live e i tuoi backup si trovano nella stessa posizione e si verifica un disastro in quella posizione (un fuoco, una rapina o un'alluvione), la tua gallina cucinerà a meno che tu non abbia un backup fuori sede.

Come potremmo aspettare?, restic può eseguire il backup su un'unità esterna che può essere rimossa dai locali e, anche meglio, può eseguire il backup direttamente su cloud storage.

Fuori dagli schemi, inquieto puoi fare il backup su:

  • Una directory locale o un'unità rimovibile locale.
  • Un computer in rete tramite Protocollo di trasferimento file SSH (SFTP). Questo, decisamente, deve Copertura sicura (SSH).
  • Server HTTP REST.
  • AWS S3.
  • OpenStack Swift.
  • IndietroBlaze B2.
  • Archiviazione BLOB di Microsoft Azure.
  • Archiviazione cloud di Google.

Se è necessario eseguire il backup su una destinazione dati che non è in quell'elenco, puoi combinare la potenza da rclone con restic e torna a uno qualsiasi dei 40 di destinazioni che rclone supporta.

I backup di rete SFTP richiedono l'installazione e la configurazione di SSH sul server di backup. Questa è la macchina in cui verranno archiviati i backup. Se configuri le chiavi SSH sul server di backup e sulla macchina di cui eseguire il backup, non ti verrà richiesta la password SSH ogni volta che esegui un backup.

Un modo per automatizzare i backup è creare brevi script o funzioni di shell e usa cron per eseguirli in momenti specifici. L'uso delle chiavi SSH ti consentirà di evitare il problema di fornire una password per i backup non presidiati.

IMPARENTATO: Come creare e installare chiavi SSH da Linux Shell

Installazione di rest

L'applicazione restic può essere trovata nei repository delle principali distribuzioni Linux, quindi installarlo è una semplice riga usando il gestore di pacchetti di ogni distribuzione.

Per installare restic su Ubuntu, scriba:

sudo apt install restic

Il comando da usare in Fedora è:

sudo dnf install restic

A Manjaro usiamo pacman:

sudo pacman -Sy restic

Configurazione del resto

Assicurati di avere SSH configurato sulla macchina del server di backup e di poter effettuare una connessione remota dalla macchina di cui eseguire il backup. Questa è la macchina client. Nella nostra rete di prova, il cliente viene chiamato “Ubuntu-20-10” e il server è denominato “casella di backup”.

Nella terminologia di restic, i backup vengono archiviati come snapshot in un repository. Ogni backup crea una nuova istantanea. Dobbiamo creare un posto per il repository sul server.

Dobbiamo creare una directory sul server di backup per ospitare il repository. Storicamente, I servizi forniti da un server si trovavano nella directory “/ srv”. Quindi collocheremo lì il nostro repository.

Sul server di backup, dai questo comando. Puoi nominare la directory del repository come preferisci. Stiamo usando il nome “restic” per semplicità.

sudo mkdir / srv / restic

Dobbiamo assicurarci che questa directory sia raggiungibile dalla persona che gestirà i backup. Se fossero più persone, avrebbe senso creare un gruppo di utenti e dargli accesso alla directory.

sudo chown dave:dave /srv/restic

Controlliamo la configurazione nella directory:

ls -hl /srv

Ora possiamo passare alla macchina client e creare il repository sul server da lì. Sostituisci il tuo nome utente, il nome del server di backup e il nome della directory del repository che corrisponda alle tue opzioni. Puoi usare il indirizzo IP dal server di backup se preferisci.

Stiamo usando il -r (deposito) per specificare il percorso del repository che andremo a creare. il resto initil comando inizializza il repository.

restic -r sftp:[email protected]:/srv/restic init

Ti verrà richiesta la password dell'account utente sul server di backup. Se hai configurato chiavi SSH tra il server e il client, non avrai bisogno di fare questo passaggio.

Inoltre, ti verrà chiesta la password del repository e successivamente ti verrà chiesto di confermarla. Questa password dovrebbe essere utilizzata per interagire con il repository in futuro. Non perderlo! Non sarai in grado di eseguire il backup o ripristinare i tuoi dati se perdi la password.

Ci vuole solo un momento per creare e inizializzare il repository.

Crea un backup

Creare un backup è molto semplice. Noi usiamo il backup comando con restic, digli cosa vogliamo fare il backup e a quale repository inviare il backup.

backup restic Documents/kernel/ -r sftp:[email protected]:/srv / rest

Devi fornire la password dell'utente e la password del repository. Mentre il backup è in esecuzione, vengono visualizzati i nomi dei file da copiare, insieme alle statistiche che ti dicono quanti file verranno copiati in totale, quanti ne sono stati copiati finora e qual è la percentuale di backup completata. Le istantanee sono crittografate tramite il standard di crittografia avanzato AES-256.

Perché questo è stato il primo backup in questo repository, tutti i file di cui è stato eseguito il backup erano nuovi. Abbiamo detto che il restyling era veloce: i backup sono stati fatti di più di 70.000 file in 23 secondi. Questo è tutto il codice sorgente del kernel Linux.

Su un'altra macchina di prova, Ho fatto un backup di più di 350.000 file per un totale di più di 170 Gibilterra tra un'ora e mezza.

Ho creato un nuovo file sul client nella directory di origine ed eseguito un altro backup. Il comando è lo stesso di prima.

backup restic Documents/kernel/ -r sftp:[email protected]:/srv / rest

L'albero della directory di origine è stato scansionato per le modifiche, il nuovo file è stato rilevato e ne è stato eseguito il backup. Quel secondo piccolo backup ha richiesto tre secondi per essere completato, inclusa la scansione degli altri file per le modifiche.

Diamo un'occhiata ai due snapshot che abbiamo nel repository. Il comando resto per questo è snapshots.

restic -r sftp:[email protected]:/istantanee srv/restic

Ad ogni snapshot è stato assegnato un identificatore esadecimale come identificazione univoca. Vengono visualizzate la data e l'ora in cui è stata creata ogni istantanea. Mostra anche il nome del computer da cui è stato eseguito il backup e il percorso dei dati di cui è stato eseguito il backup.

Quindi ho creato un secondo nuovo file e ho creato un altro backup. Ancora, la riga di comando è la stessa di prima.

Come con il nostro precedente backup di ricarica, questo piccolo aggiornamento ha richiesto tre secondi per essere completato.

In questa fase, probabilmente sei stanco di inserire la password del repository. Possiamo affrontarlo prima di usare il snapshots comando per visualizzare la nostra raccolta di tre istantanee. Apri un editor e digita la password del repository al suo interno, quindi premere “accedere” per iniziare una nuova riga. Salvare il file come “.rest_pass” nella home directory.

Per assicurarti che nessun altro possa vedere la password, modificare i bit della modalità di accesso ai file usando chmod :

chmod 600 .rest_pass

Ciò significa che nessun altro oltre a te può inserire il file.

Ora possiamo passare questo al resto della riga di comando usando il -p (file di password). Se hai anche configurato chiavi SSH tra il client e il server, inoltre non dovrai inserire la password dell'account utente. Puoi facilmente automatizzare i tuoi backup con cron una volta che l'interazione umana è stata rimossa dalla procedura.

snapshot restic -r sftp:[email protected]:/srv/restic -p .rest_pass

Non ci viene più richiesta la password del repository, che è grandioso. Non abbiamo bisogno di ricordarlo e non possiamo sbagliare l'ortografia.

Lavora con le istantanee

il resto diff Il comando ti consente di vedere le differenze tra due istantanee. Usa gli ID univoci delle due istantanee che vuoi confrontare. Puoi vedere gli ID delle istantanee quando usi il resto snapshot comando.

restic diff -r sftp:[email protected]:/srv/restic -p .rest_pass 8f98cd29 8700e4bf

Le differenze tra le istantanee vengono visualizzate come colonne di statistiche.

il resto check Il comando esegue un test di verifica con tutte le istantanee nel repository.

restic check -r sftp:[email protected]:/srv/restic -p .rest_pass

Per eliminare un'istantanea, devo dire a restic che forget quello e per prune Quello. È necessario utilizzare l'ID univoco dell'istantanea per identificare quale istantanea eliminare.

restic forget --prune -r sftp:[email protected]:/srv/restic -p .rest_pass e506e089

Ripristino dei dati

Quando è il momento di ripristinare i dati di backup, è semplice come creare il backup. Devi specificare quale snapshot ripristinare. Puoi usare l'ID univoco di un'istantanea oppure puoi usare il latest tag per utilizzare l'istantanea più recente nel repository.

È inoltre necessario fornire una directory per la copia dei dati ripristinati utilizzando il target opzione.

restic restore latest --target ~/restored-data -r sftp:[email protected]:/srv/restic -p .rest_pass

Il ripristino è veloce come tornare indietro. Controllo nella directory di destinazione, possiamo vedere che l'albero delle directory e i file sono stati ripristinati per noi.

ls

Crea copie di backup, dormire sonni tranquilli

La perdita di dati è un serio ostacolo. Una solida soluzione di backup significa che hai una cosa in meno di cui preoccuparti. Con resto, puoi automatizzare i tuoi backup su repository locali e nel cloud e dormire sonni tranquilli.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.