Guida verificata con Ubuntu: 20.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Con Ubuntu è possibile eseguire un backup dell'intero sistema con gli stessi strumenti utilizzati per archiviare o comprimere ogni altro file: tar.

Installazione

tar è già preinstallato nel sistema Ubuntu.
Nel caso non fosse presente, è sufficiente installare il pacchetto tar.

Procedimento backup

Per eseguire un backup dell'intero sistema, partendo dalla directory root /, è necessario utilizzare i privilegi di amministratore in un terminale.

  1. Spostarsi nella directory o partizione di destinazione del backup, digitando in un terminale il comando:

    cd `/directory_destinazione_backup`
  2. Per effettuare il backup del sistema / digitare il seguente comando:

    sudo tar -cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /

Di seguito è riportata in dettaglio la spiegazione della sintassi del comando:

Opzione

Risultato

tar

È il programma di archiviazione utilizzato per eseguire il backup.

-c

Crea un nuovo archivio di backup.

-v

Modalità verbose: tar restituisce sullo schermo una descrizione delle operazioni in corso.

-p

Mantiene i permessi di tutti i file.

-z

Comprime il file di backup con gzip per renderlo più piccolo.

-f <nomefile>

Specifica dove salvare il backup (/backup.tgz è il file utilizzato in questo esempio).

--exclude=/<dir>

Esclude dal backup la directory specificata.

/

Specifica / come directory di backup (/, root).

Esclusione directory

Si consiglia di non includere le cartelle di sistema /mnt e /media, poiché nel caso siano presenti altre partizioni montate verrebbe eseguito il backup anche di queste.

Non è necessario fare il backup di tutto il sistema poiché alcune directory non sono indispensabili (compreso il file di backup stesso).

Aggiungere la data

Al nome del file di backup è possibile aggiungere la data di esecuzione dello stesso. A tale scopo è sufficiente aggiungere la seguente dicitura al comando di backup:

`date +%d-%m-%Y`

Il comando aggiungerà al nome del file una data in formato «giorno-mese-anno», simile al seguente esempio:

sudo tar -cvpjf /backup-`date+%d-%m-%Y`.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/backup-`date+%d-%m-%Y`.tar.bz2 --exclude=/mnt --exclude=/sys /

Compressione della directory

È possibile anche utilizzare bzip2 per comprimere il file di backup. Questo porta un maggiore compressione, seppur a discapito di una minore velocità.

Per utilizzare bzip2 sostituire nel comando di creazione del backup l'opzione z con j e modificare l'estensione del file di backup, come nel seguente esempio:

sudo tar -cvpjf /backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys /

Ripristino

Prestare molta attenzione alle istruzioni seguenti, poiché in caso di errori si possono sovrascrivere file importanti per il sistema. Il comando seguente sovrascriverà tutti i file del sistema con quelli presenti nell'archivio di backup.

Per ripristinare il backup non c'è bisogno di entrare in una modalità speciale del sistema operativo, infatti è possibile farlo con il sistema in esecuzione. Nel caso in cui non si riesca ad accedere al sistema, è possibile utilizzare un DVD/USB live per ottenere gli stessi risultati.

È possibile rimuovere qualsiasi file dal sistema mentre questo è in esecuzione, con tutto ciò che questo comporta al successivo riavvio.

  1. Copiare il file di backup nella directory /.

  2. Per eseguire il ripristino, digitare il seguente comando in un terminale:

    sudo tar -xvpzf /backup.tgz -C /

    Nel caso in cui sia stato utilizzato bunzip2, digitare invece il seguente comando:

    sudo tar -xvpjf backup.tar.bz2 -C /
    Alcune opzioni:
    • x: serve per estrarre i file nell'archivio

    • -C <directory>: serve per spostarsi in una specifica directory, in questo caso /, prima di estrarre i file.

  3. Premere Invio per avviare il ripristino.

  4. Al termine della procedura, assicurarsi di ricreare eventuali directory escluse durante il backup nel caso siano state compromesse (ad esempio /proc, /lost+found, /mnt, /sys ecc.):

    sudo mkdir /proc /lost+found /mnt /sys

Al successivo riavvio tutto il sistema sarà stato ripristinato.

Backup attraverso la rete

Qualora il disco fisso non abbia abbastanza spazio o non fosse possibile montarne un altro in cui salvare il backup, è possibile usare netcat per spostare il file di backup.

Dalla parte del ricevente, impostare netcat in modo da scrivere il backup in questo modo:

nc -l -p 1024 > backup.tar.bz2

Quindi mettere in pipe il comando per eseguire il backup con netcat, senza il flag f, come in questo esempio:

sudo tar -cvpj <tutte le altre opzioni> / | nc -q 0 <host di ricezione> 1024

«1024» si riferisce al numero di una porta. Utilizzare un numero pari a 1024 o superiore.

Se tutto è andato a buon fine il backup sarà inviato in pipe attraverso la rete. La scrittura del file su disco sarà più rapida se in uso una rete veloce.

Programmare il backup con cron

L'esecuzione di queste operazioni può essere programmata e resa automatica con cron. Per maggiori informazioni consultare questa guida.

Ulteriori risorse


CategoryAmministrazione

AmministrazioneSistema/BackupDelSistema/BackupConTar (l'ultima modifica è del 14/06/2021 13.44.12, fatta da andreas-xavier)