Duplicità: crea backup incrementali crittografati in Linux

instagram story viewer

L'esperienza dimostra che non si può mai essere troppo paranoici riguardo ai backup di sistema. Quando si tratta di proteggere e preservare dati preziosi, è meglio fare il possibile e assicurarsi di poter fare affidamento sui backup in caso di necessità.

Anche oggi, quando alcuni cloud e hosting provider offri backup automatici per VPS a un costo relativamente basso, farai bene a crearne uno tuo strategia di backup utilizzando i tuoi strumenti per risparmiare un po' di soldi e poi magari usarlo per acquistare spazio extra o ottenere un VPS più grande.

[ Potrebbe piacerti anche: 25 Utilità di backup eccezionali per sistemi Linux ]

Sembra interessante? In questo articolo, ti mostreremo come utilizzare uno strumento chiamato Duplicità per eseguire il backup e crittografare file e directory. Inoltre, l'utilizzo di backup incrementali per questa attività ci aiuterà a risparmiare spazio.

Detto questo, iniziamo.

Installazione di Duplicity Backup Tool in Linux

Per installare la duplicità in Distribuzioni basate su RHEL, dovrai abilitare il EPEL repository prima (puoi omettere questo passaggio se stai usando Fedora si):

# yum update # yum install epel-release. O. # yum installa https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm. 

Allora corri,

# yum installa la duplicità. 

Per Debian e derivati:

$ sudo apt update $ sudo apt install duplicità. 

In teoria, sono supportati molti metodi per la connessione a un file server, anche se solo ssh/scp/sftp, accesso ai file locali, sincronizzare, ftp, HSI, WebDAV e Amazon S3 sono stati testati nella pratica finora.

Una volta completata l'installazione, utilizzeremo esclusivamente sftp in vari scenari, sia per eseguire il backup che per ripristinare i dati.

Il nostro ambiente di test è costituito da un RHEL 8 box (di cui eseguire il backup) e a Debian 11 macchina (server di backup).

Creazione di chiavi SSH per l'accesso senza password al server remoto

Iniziamo creando il Chiavi SSH nel nostro RHEL scatola e trasferendoli nella Debian server di backup.

Se sei eseguendo SSH su una porta diversa, quindi il comando seguente presuppone il ssh demone è in ascolto sulla porta XXXXX nel server Debian. Sostituire AAA.BBB.CCC.DDD con l'IP effettivo del server remoto.

# ssh-keygen -t rsa. # ssh-copy-id [email protetta]
# ssh-copy-id -p XXXXX [email protetta]

Quindi dovresti assicurarti di poterti connettere al server di backup senza utilizzare una password:

# ssh [email protetta]
Accesso remoto senza password SSH
Accesso remoto senza password SSH

Ora dobbiamo creare il GPG chiavi che verranno utilizzate per il crittografia e decrittazione dei nostri dati:

# gpg2 --full-gen-key. 

Ti verrà chiesto di inserire:

  • Tipo di chiave
  • Dimensione chiave
  • Per quanto tempo la chiave dovrebbe essere valida
  • Una passphrase
Crea la chiave RSA GPG in Linux
Crea la chiave RSA GPG in Linux

Per creare l'entropia necessaria alla creazione delle chiavi, è possibile accedere al server tramite un'altra finestra del terminale ed eseguire alcuni attività o eseguire alcuni comandi per generare entropia (altrimenti dovrai aspettare molto tempo prima che questa parte del processo finire).

Una volta generate le chiavi, è possibile elencarle come segue:

# gpg --list-keys. 
Elenca le chiavi GPG
Elenca le chiavi GPG

La stringa evidenziata in giallo sopra è nota come ID della chiave pubblica ed è un argomento richiesto per crittografare i tuoi file.

Creazione di un backup Linux con duplicazione

Per iniziare in modo semplice, eseguiamo solo il backup di /var/log directory, ad eccezione di /var/log/anaconda e /var/log/sa.

Poiché questo è il nostro primo backup, sarà completo. Le esecuzioni successive creeranno backup incrementali (a meno che non aggiungiamo l'opzione completa senza trattini proprio accanto alla duplicità nel comando seguente):

# PASSPHRASE="tecmint" duplicity --encrypt-key 115B4BB13BC768B8B2704E5663C429C3DB8BAD3B --exclude /var/log/anaconda --exclude /var/log/sa /var/log scp://[email protetta]//backups/rhel8. O. # PASSPHRASE="YourPassphraseHere" duplicity --encrypt-key YourPublicKeyIdHere --exclude /var/log/anaconda --exclude /var/log/sa /var/log scp://[email protetta]:XXXXXX//backup/rhel8. 

Assicurati di non perdere la doppia barra nel comando sopra! Sono usati per indicare un percorso assoluto a una directory denominata /backups/rhel8 nella casella di backup ed è dove verranno archiviati i file di backup.

Sostituire YourPassphraseQui, YourPublicKeyIdqui, e Server remoto rispettivamente con la passphrase immessa in precedenza, l'ID della chiave pubblica GPG e con l'IP o il nome host del server di backup.

Il tuo output dovrebbe essere simile alla seguente immagine:

Crea backup della partizione var
Crea backup usando Duplicity

L'immagine sopra indica che un totale di 86,3 MB è stato eseguito il backup in a 3,22 MB nella destinazione. Passiamo al server di backup per controllare il nostro backup appena creato:

Conferma i file di backup di Linux
Conferma i file di backup di Linux

Una seconda esecuzione dello stesso comando produce una dimensione e un tempo di backup molto inferiori:

Comprimi backup
Comprimi backup

Ripristino di backup Linux utilizzando Duplicity

Per ripristinare correttamente un file, una directory con il suo contenuto o l'intero backup, la destinazione non deve esistere (la duplicazione non sovrascriverà un file o una directory esistente). Per chiarire, eliminiamo il cron accedi alla casella CentOS:

# rm -f /var/log/cron. 

La sintassi per ripristinare un singolo file dal server remoto è:

# PASSPHRASE="YourPassphraseHere" duplicity --file-to-restore nomefile sftp://[email protetta]//backup/rhel8 /dove/ripristinare/nomefile. 

dove,

  • nome del file è il file da estrarre, con un percorso relativo alla directory di cui è stato eseguito il backup
  • /where/to/restore è la directory nel sistema locale in cui vogliamo ripristinare il file.

Nel nostro caso, per ripristinare il registro principale di cron dal backup remoto dobbiamo eseguire:

# PASSPHRASE="YourPassphraseHere" duplicity --file-to-restore cron sftp://[email protetta]:XXXXX//backup/rhel8 /var/log/cron. 

Il registro cron dovrebbe essere ripristinato nella destinazione desiderata.

Allo stesso modo, sentiti libero di eliminare una directory da /var/log e ripristinalo utilizzando il backup:

# rm -rf /var/log/mail. # PASSPHRASE="YourPassphraseHere" duplicity --file-to-restore mail sftp://[email protetta]:XXXXX//backup/rhel8 /var/log/mail. 

In questo esempio, il posta la directory deve essere ripristinata nella sua posizione originale con tutto il suo contenuto.

Altre caratteristiche di Duplicity

In ogni momento è possibile visualizzare l'elenco dei file archiviati con il seguente comando:

# duplicity list-current-files sftp://[email protetta]:XXXXXX//backup/rhel8. 

Elimina i backup più vecchi di 6 mesi:

# rimozione doppiezza-più-vecchio-di 6M sftp://[email protetta]:XXXXXX//backup/rhel8. 

Ristabilire il mio file directory interna gacanepa come era 2 giorni e 12 ore fa:

# duplicity -t 2D12h --file-to-restore gacanepa/myfile sftp://[email protetta]:XXXXX//remotedir/backup/home/gacanepa/myfile. 

Nell'ultimo comando possiamo vedere un esempio di utilizzo dell'intervallo di tempo (come specificato da -T): una serie di coppie in cui ciascuna è composta da un numero seguito da uno dei caratteri S, m, h, D, w, m, o Y (indicando rispettivamente secondi, minuti, ore, giorni, settimane, mesi o anni).

Riepilogo

In questo articolo, abbiamo spiegato come utilizzare Duplicity, un'utilità di backup che fornisce la crittografia per file e directory pronta all'uso. Consiglio vivamente di dare un'occhiata al progetto di doppiezza sito web per ulteriore documentazione ed esempi.

Abbiamo fornito una pagina man di doppiezza in formato PDF per comodità di lettura, è anche una guida di riferimento completa.

Sentiti libero di farci sapere se hai domande o commenti.

Teachs.ru