Vai al contenuto

Comandi dump e restore

Panoramica

dump esamina i file di un filesystem, determina di quali eseguire il backup e copia tali file su un disco, un nastro o un altro supporto di memorizzazione specificato. Il comando restore esegue la funzione inversa di dump.

Questa utilità si applica ai seguenti file system:

  • ext2
  • ext3
  • ext4

Tip

Per il file system xfs, usare `xfsdump`.

Questa è la homepage del progetto.

Prima di utilizzare questa utility, eseguire il seguente comando per installarla:

Shell > dnf -y install dump

Dopo l'installazione, sono disponibili due strumenti di comando comunemente utilizzati:

  • dump
  • restore

Comando dump

Questo comando può essere utilizzato principalmente in due modi:

  • Eseguire operazioni di backup (dump) - dump [opzione/i] -f <File-Name> <File1> ...
  • Esaminare le informazioni di backup (dump) - dump [-W | -w]

Le opzioni più comuni sono:

  • -<level> - Livello di backup. Sostituire “livello” con un numero qualsiasi da 0 a 9 quando viene utilizzato. Il numero 0 rappresenta il backup completo, mentre gli altri numeri rappresentano il backup incrementale.
  • -f <File-Name> - Specifica il nome e il percorso del file dopo il backup.
  • -u - Dopo un backup riuscito, registra l'ora del backup nel file /etc/dumpdates. È possibile utilizzare l'opzione -u quando l'oggetto di cui si esegue il backup è una partizione indipendente. Tuttavia, non è possibile utilizzare l'opzione -u quando l'oggetto di backup è una directory non partizionata.
  • -v - Visualizza i dettagli dell'elaborazione durante il processo di backup.
  • -W - Un'opzione per visualizzare le informazioni sul dump.
  • -z[LEVEL] - Regola il livello di compressione usando la libreria zlib, con un livello di compressione predefinito pari a 2. Ad esempio, è possibile comprimere il file di backup in formato .gz. L'intervallo di regolazione del livello di compressione è da 1 a 9.
  • -j[LEVEL] - Regola il livello di compressione usando la libreria bzlib, con un livello di compressione predefinito pari a 2. Ad esempio, è possibile comprimere il file di backup in formato .bz2. L'intervallo di regolazione del livello di compressione è da 1 a 9.

Esempio di utilizzo di dump

  1. Eseguire un backup completo della partizione principale:
Shell > dump -0u -j3 -f /tmp/root-20241208.bak.bz2 /
DUMP: Date of this level 0 dump: Sun Dec  8 19:04:39 2024
DUMP: Dumping /dev/nvme0n1p2 (/) to /tmp/root-20241208.bak.bz2
DUMP: Label: none
DUMP: Writing 10 Kilobyte records
DUMP: Compressing output at transformation level 3 (bzlib)
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 14693111 blocks.
DUMP: Volume 1 started with block 1 at: Sun Dec  8 19:04:41 2024
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: 20.69% done at 10133 kB/s, finished in 0:19
DUMP: 43.74% done at 10712 kB/s, finished in 0:12
DUMP: 70.91% done at 11575 kB/s, finished in 0:06
DUMP: 93.23% done at 11415 kB/s, finished in 0:01
DUMP: Closing /tmp/root-20241208.bak.bz2
DUMP: Volume 1 completed at: Sun Dec  8 19:26:08 2024
DUMP: Volume 1 took 0:21:27
DUMP: Volume 1 transfer rate: 5133 kB/s
DUMP: Volume 1 14722930kB uncompressed, 6607183kB compressed, 2.229:1
DUMP: 14722930 blocks (14377.86MB) on 1 volume(s)
DUMP: finished in 1287 seconds, throughput 11439 kBytes/sec
DUMP: Date of this level 0 dump: Sun Dec  8 19:04:39 2024
DUMP: Date this dump completed:  Sun Dec  8 19:26:08 2024
DUMP: Average transfer rate: 5133 kB/s
DUMP: Wrote 14722930kB uncompressed, 6607183kB compressed, 2.229:1
DUMP: DUMP IS DONE

Shell > ls -lh /tmp/root-20241208.bak.bz2
-rw-r--r-- 1 root root 6.4G Dec  8 19:26 /tmp/root-20241208.bak.bz2
  1. Dopo aver effettuato lo scarico, controllare le informazioni pertinenti:
Shell > cat /etc/dumpdates
/dev/nvme0n1p2 0 Sun Dec  8 19:04:39 2024 +0800

Shell > dump -W
Last dump(s) done (Dump '>' file systems):
/dev/nvme0n1p2        (     /) Last dump: Level 0, Date Sun Dec  8 19:04:39 2024
  1. Implementare il backup incrementale sulla base del backup completo:
Shell > echo "jack" >> /tmp/tmpfile.txt

Shell > dump -1u -j4 -f /tmp/root-20241208-LV1.bak.bz2 /
DUMP: Date of this level 1 dump: Sun Dec  8 19:38:51 2024
DUMP: Date of last level 0 dump: Sun Dec  8 19:04:39 2024
DUMP: Dumping /dev/nvme0n1p2 (/) to /tmp/root-20241208-LV1.bak.bz2
DUMP: Label: none
DUMP: Writing 10 Kilobyte records
DUMP: Compressing output at transformation level 4 (bzlib)
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 6620898 blocks.
DUMP: Volume 1 started with block 1 at: Sun Dec  8 19:38:58 2024
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: 38.13% done at 8415 kB/s, finished in 0:08
DUMP: 75.30% done at 8309 kB/s, finished in 0:03
DUMP: Closing /tmp/root-20241208-LV1.bak.bz2
DUMP: Volume 1 completed at: Sun Dec  8 19:52:03 2024
DUMP: Volume 1 took 0:13:05
DUMP: Volume 1 transfer rate: 8408 kB/s
DUMP: Volume 1 6620910kB uncompressed, 6600592kB compressed, 1.004:1
DUMP: 6620910 blocks (6465.73MB) on 1 volume(s)
DUMP: finished in 785 seconds, throughput 8434 kBytes/sec
DUMP: Date of this level 1 dump: Sun Dec  8 19:38:51 2024
DUMP: Date this dump completed:  Sun Dec  8 19:52:03 2024
DUMP: Average transfer rate: 8408 kB/s
DUMP: Wrote 6620910kB uncompressed, 6600592kB compressed, 1.004:1
DUMP: DUMP IS DONE

Shell > cat /etc/dumpdates
/dev/nvme0n1p2 0 Sun Dec  8 19:04:39 2024 +0800
/dev/nvme0n1p2 1 Sun Dec  8 19:38:51 2024 +0800

Shell > dump -W
Last dump(s) done (Dump '>' file systems):
/dev/nvme0n1p2        (     /) Last dump: Level 1, Date Sun Dec  8 19:38:51 2024
  1. Per le directory non partizionate, è possibile utilizzare solo l'opzione Backup completo (-0), non l'opzione -u:
Shell > dump -0uj -f /tmp/etc-full-20241208.bak.bz2 /etc/
DUMP: You can't update the dumpdates file when dumping a subdirectory
DUMP: The ENTIRE dump is aborted.

Shell > dump -0j -f /tmp/etc-full-20241208.bak.bz2 /etc/
DUMP: Date of this level 0 dump: Sun Dec  8 20:00:38 2024
DUMP: Dumping /dev/nvme0n1p2 (/ (dir etc)) to /tmp/etc-full-20241208.bak.bz2
DUMP: Label: none
DUMP: Writing 10 Kilobyte records
DUMP: Compressing output at transformation level 2 (bzlib)
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 28204 blocks.
DUMP: Volume 1 started with block 1 at: Sun Dec  8 20:00:38 2024
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: Closing /tmp/etc-full-20241208.bak.bz2
DUMP: Volume 1 completed at: Sun Dec  8 20:00:40 2024
DUMP: Volume 1 took 0:00:02
DUMP: Volume 1 transfer rate: 3751 kB/s
DUMP: Volume 1 29090kB uncompressed, 7503kB compressed, 3.878:1
DUMP: 29090 blocks (28.41MB) on 1 volume(s)
DUMP: finished in 2 seconds, throughput 14545 kBytes/sec
DUMP: Date of this level 0 dump: Sun Dec  8 20:00:38 2024
DUMP: Date this dump completed:  Sun Dec  8 20:00:40 2024
DUMP: Average transfer rate: 3751 kB/s
DUMP: Wrote 29090kB uncompressed, 7503kB compressed, 3.878:1
DUMP: DUMP IS DONE

L'esecuzione di un backup incrementale della directory /etc/ genera un errore:

Shell > dump -1j -f /tmp/etc-incr-20241208.bak.bz2 /etc/
DUMP: Only level 0 dumps are allowed on a subdirectory
DUMP: The ENTIRE dump is aborted.

Comando restore

L'uso di questo comando è - restore <mode(flag)> [opzione/i] -f <Dump-File>.

La modalità (flag) può essere una delle seguenti:

  • -C - Modalità di confronto. Il ripristino legge il backup e ne confronta il contenuto con i file presenti su disco. Viene utilizzato principalmente per il confronto dopo l'esecuzione di un backup su una partizione. In questa modalità, restore confronta solo le modifiche basandosi sui dati di origine. Se sul disco sono presenti nuovi dati, non è possibile confrontarli o rilevarli.
  • -i - Modalità interattiva. Questa modalità consente il ripristino interattivo dei file da un dump.
  • -t - Modalità elenco. Elenca i dati contenuti nel file di backup.
  • -r - Modalità di ripristino (rebuild). Se si tratta di un metodo “Backup completo + backup incrementale”, il ripristino dei dati avverrà in ordine cronologico.
  • -x - Modalità estrazione. Estrarre alcuni o tutti i file dal file di backup.

Esempio di utilizzo di restore

  1. Ripristinare i dati da /tmp/etc-full-20241208.bak.bz2 :
Shell > mkdir /tmp/data/

Shell > restore -t -f /tmp/etc-full-20241208.bak.bz2

Shell > cd /tmp/data/ ; restore -r -f /tmp/etc-full-20241208.bak.bz2

Shell > ls -l /tmp/data/
total 4992
drwxr-xr-x. 90 root root    4096 Dec  8 17:13 etc
-rw-------   1 root root 5107632 Dec  8 20:39 restoresymtable

Come si può vedere, dopo un ripristino riuscito viene visualizzato un file chiamato restoresymtable. Questo file è importante. Serve per le operazioni di ripristino del sistema di backup incrementale.

  1. Elaborare i file di backup in modalità interattiva:
Shell > restore -i -f /tmp/etc-full-20241208.bak.bz2
Dump tape is compressed.

restore > ?

È possibile digitare ? per visualizzare i comandi interattivi disponibili in questa modalità.

Author: tianci li

Contributors: Steven Spencer