GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso eseguire backup incrementali atomici di un sistema Linux in esecuzione utilizzando il freeware?

Come hai detto, BTRFS può farlo. Ecco come eseguo regolarmente il backup del mio laptop (che ha un tempo di attività di 9 settimane, 5 giorni durante la digitazione).

All'interno del mio filesystem BTRFS, ho dei sottovolumi. Il modo in cui dividi i tuoi dati in sottovolumi e il modo in cui li annidi non è importante qui, a condizione che tu non stia utilizzando la radice del filesystem per archiviare i dati di cui desideri eseguire il backup.

I seguenti comandi servono per illustrare la sintassi e le possibilità, consiglio di racchiuderli in uno script che viene eseguito come cronjob o systemd.timer.

Per creare un'istantanea di un sottovolume:

btrfs subvolume snapshot -r <source> <dest>

Per serializzare uno snapshot:

btrfs send <snapshot>

Per serializzare uno snapshot relativo a uno più vecchio (cioè differenziale):

btrfs send -p <start> <end>

Per generare un diff, comprimerlo al volo e inviarlo al server di backup, con monitoraggio dei "progressi":

btrfs send -p <start> <end> | \
    pv -bart | \
    pbzip2 --best | \
    ssh [email protected] "cat > /backups/name.bz2"

Per fare qualcosa di simile, ma ricreare i sottovolumi BTRFS sul server di backup anziché limitarsi ai flussi BTRFS compressi:

btrfs send -p <start> <end> | \
    pv -bart | \
    pbzip2 --best | \
    ssh [email protected] "pbzip2 -d | \
    btrfs receive <target>"

Per ripristinare, applica le tue istantanee in ordine a un nuovo filesystem BTRFS, tramite btrfs receive .

Ecco ulteriori informazioni sui backup incrementali BTRFS


Come ha detto @mark-k-cowan, puoi farlo con gli snapshot btrfs. btrfs è troppo immaturo per me. Usare zfs e la sua istantanea sarebbe meglio. Come ha affermato @brady-dean, gli snapshot LVM sono un metodo indipendente dal filesystem. Gli snapshot LVM possono avere un enorme impatto negativo sulle prestazioni.

Acronis dispone di un modulo del kernel che funziona a livello di blocco per creare istantanee. Datto Block Driver è un modulo del kernel GPLv2 (ahem "freeware") che fa la stessa cosa. (Disclaimer:non l'ho mai usato.)


Linux
  1. Come eseguire il backup dell'intero sistema Linux utilizzando Rsync

  2. Come verificare se il sistema Linux è in esecuzione su un sistema fisico o una macchina virtuale?

  3. Puoi farlo? Compila i programmi C su Linux usando Make Command

  4. Come verificare se un processo è ancora in esecuzione utilizzando Python su Linux?

  5. Come posso trovare la mia versione della shell usando un comando Linux?

Come trovare i dettagli del sistema Linux usando inxi

Come aggiungere un nuovo dispositivo al file system BTRFS in Linux

Come montare un filesystem Linux remoto usando SSHFS

Come aggiornare il sistema Linux openSUSE

Come ottenere informazioni sull'hardware su Linux utilizzando il comando dmidecode

Come posso profilare il codice C++ in esecuzione su Linux?