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 init
il 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.