Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/BackupDelSistema/BackupConTar"
Differenze tra le versioni 62 e 63
Versione 62 del 16/11/2025 18.28.38
Dimensione: 6551
Autore: ivantu
Commento: +versioni supportate; +revisione_pagina
Versione 63 del 17/11/2025 10.44.43
Dimensione: 8797
Autore: ivantu
Commento: +ulteriori_informazioni di sintassi backup; +piccole correzioni
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 21: Linea 21:
 0. Spostarsi nella directory o partizione di destinazione del backup, digitando in un [[AmministrazioneSistema/Terminale|terminale]] il comando: {{{
cd `/directory_destinazione_backup`
}}}
 0. 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 /
}}}
 0. Spostarsi nella directory o partizione di destinazione del backup, digitando in un [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
 cd `/directory_destinazione_backup`
 }}}
 0. 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 --exclude=/run --exclude=/tmp --exclude=/var/tmp --exclude=/var_run --exclude=/dev --xattrs --acls /
 }}}Questo comando include le opzioni essenziali per preservare permessi, attributi estesi e ACLs, fondamentali per un ripristino funzionale.
 {{{#!wiki note
 Per i sistemi che utilizzano SELinux (come Fedora, RHEL, CentOS e OpenSUSE), è fondamentale aggiungere anche l'opzione '''--selinux''' al comando di backup per preservare i contesti di sicurezza.
 }}}
Linea 32: Linea 35:
||<tablestyle="width: 70%;" rowstyle="background-color: #cccccc;" 20%:>'''Opzione'''||<80%:> '''Risultato''' ||
||<:>'''tar''' || È il programma di archiviazione utilizzato per eseguire il backup. ||
||<tablestyle="width:50%;" -2:>'''Sintassi opzioni'''||
||<
:30%> '''Opzione''' || Risultato ||
||<:>'''tar''' || Programma di archiviazione utilizzato per eseguire il backup. ||
Linea 35: Linea 39:
||<:>'''-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). ||
||<:>'''-v''' || Modalità verbose: tar restituisce sullo schermo una descrizione delle operazioni in corso. ||
||<:>'''-p''' || Mantiene i permessi POSIX di tutti i file. ||
||<:>'''-z''' || Comprime il file di backup con gzip per ridurne le dimensioni. ||
||<:>'''-f <nomefile>''' || Specifica il percorso di salvataggio del backup (`/backup.tgz` è il file utilizzato in questo esempio). ||
Linea 40: Linea 44:
||<:>'''/''' || Specifica '''/''' come directory di backup (`/`, root). || ||<:>'''--xattrs''' || Preserva gli attributi estesi dei file (extended attributes). Essenziale per un ripristino completo. ||
||<:>'''--acls''' || Preserva le liste di controllo accessi (Access Control Lists - ACLs). Essenziale per un ripristino completo. ||
||<:>'''--selinux''' || Preserva i contesti di sicurezza SELinux. Fondamentale per i sistemi che utilizzano SELinux. ||
||<:>'''/''' || Specifica / come directory di backup (root). ||
Linea 44: Linea 51:
Si consiglia di non includere le cartelle di sistema `/mnt` e `/media`, poiché la loro inclusione comporterebbe il backup di altre partizioni eventualmente montate. Si consiglia di non includere le cartelle di sistema `/mnt` e `/media`, poiché la loro inclusione comporterebbe il backup di altre partizioni eventualmente montate. È altresì consigliabile escludere le directory `/run`, `/tmp`, `/var/tmp`, `/var/run` e `/dev`, in quanto contengono file temporanei, dati di runtime e file speciali di periferica che vengono ricreati dinamicamente all'avvio del sistema e non sono necessari per un ripristino efficace.
Linea 46: Linea 53:
{{{#!wiki important
Non è necessario effettuare il backup dell'intero sistema, dato che alcune directory non sono indispensabili (compreso il file di backup stesso).
{{{#!wiki note
Non è necessario effettuare il backup di tutto il sistema, dato che alcune directory non sono indispensabili (compreso il file di backup stesso e quelle contenenti dati temporanei, di runtime o file speciali di periferica).
Linea 56: Linea 63:
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 /
Il comando aggiungerà al nome del file una data in formato «giorno-mese-anno», come nel 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 --exclude=/run --exclude=/tmp --exclude=/var/tmp --exclude=/var_run --exclude=/dev --xattrs --acls /
Linea 60: Linea 67:
= Compressione della directory = {{{#!wiki note
Ricordarsi di aggiungere `--selinux` anche qui se il sistema lo richiede.
}}}
Linea 62: Linea 71:
È possibile utilizzare '''bzip2''' per comprimere il file di backup. Questo offre una maggiore compressione, sebbene a discapito di una minore velocità. = Compressione della Directory con bzip2 =
Linea 64: Linea 73:
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 /
È anche possibile utilizzare '''bzip2''' per comprimere il file di backup. Questo offre una maggiore compressione, sebbene 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 --exclude=/run --exclude=/tmp --exclude=/var/tmp --exclude=/var_run --exclude=/dev --xattrs --acls /
}}}

{{{#!wiki note
Ricordarsi di aggiungere `--selinux` anche qui se il sistema lo richiede.
Linea 79: Linea 94:
 0. Per eseguire il ripristino, digitare in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
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.
 0. Per eseguire il ripristino, assicurarsi di includere le stesse opzioni `--xattrs`, `--acls` e `--selinux` (se usata) che sono state usate durante la creazione del backup. Digitare il seguente comando in un terminale:{{{
 sudo tar -xvpzf /backup.tgz -C / --xattrs --acls
 
}}}Nel caso in cui sia stato utilizzato '''bunzip2''', digitare invece il seguente comando:{{{
 sudo tar -xvpzf /backup.tgz -C / --xattrs --acls --selinux
 }}}Per bzip2:{{{
 
sudo tar -xvpjf backup.tar.bz2 -C / --xattrs --acls --selinux
 
}}}Alcune opzioni:
  * '''x''': estrae i file dall'archivio.
  * '''-C <directory>''': sposta in una specifica directory, in questo caso /, prima di estrarre i file.
  * '''--xattrs''': Ripristina gli attributi estesi.
  * '''--acls''': Ripristina le liste di controllo accessi.
  * '''--selinux''': Ripristina i contesti di sicurezza SELinux.
Linea 87: Linea 107:
 0. 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
}}}
 0. 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`, `/run`, `/tmp`, `/var/tmp`, `/var_run`, `/dev`, ecc.):{{{
 sudo mkdir /proc /lost_found /mnt /sys /run /tmp /var/tmp /var_run /dev
 }}}
Linea 91: Linea 111:
Al successivo riavvio tutto il sistema sarà stato ripristinato. Al successivo riavvio, l'intero sistema sarà stato ripristinato.
Linea 99: Linea 119:
}}}Quindi, inviare 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
}}}Quindi, inviare in pipe il comando per eseguire il backup con `netcat`, senza il flag '''-f''', e ricordando di includere '''--xattrs''', '''--acls''' e '''--selinux''' (se usato) come in questo esempio:{{{
sudo tar -cvpj <tutte le altre opzioni> --xattrs --acls / | nc -q 0 <host_di_ricezione> 1024
Linea 104: Linea 124:
«1024» si riferisce al numero di una porta. Utilizzare un numero pari a 1024 o superiore. «1024» si riferisce al numero di una porta. Utilizzare un numero pari a 1024 o superiore. Ricordarsi di aggiungere `--selinux` anche qui se il sistema lo richiede.


Guida verificata con Ubuntu: 22.04 24.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.
Se si è su sistema minimale nel caso non fosse presente, 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 --exclude=/run --exclude=/tmp --exclude=/var/tmp --exclude=/var_run --exclude=/dev --xattrs --acls /
    Questo comando include le opzioni essenziali per preservare permessi, attributi estesi e ACLs, fondamentali per un ripristino funzionale.
    • Per i sistemi che utilizzano SELinux (come Fedora, RHEL, CentOS e OpenSUSE), è fondamentale aggiungere anche l'opzione --selinux al comando di backup per preservare i contesti di sicurezza.

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

Sintassi opzioni

Opzione

Risultato

tar

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 POSIX di tutti i file.

-z

Comprime il file di backup con gzip per ridurne le dimensioni.

-f <nomefile>

Specifica il percorso di salvataggio del backup (/backup.tgz è il file utilizzato in questo esempio).

--exclude=/<dir>

Esclude dal backup la directory specificata.

--xattrs

Preserva gli attributi estesi dei file (extended attributes). Essenziale per un ripristino completo.

--acls

Preserva le liste di controllo accessi (Access Control Lists - ACLs). Essenziale per un ripristino completo.

--selinux

Preserva i contesti di sicurezza SELinux. Fondamentale per i sistemi che utilizzano SELinux.

/

Specifica / come directory di backup (root).

Esclusione directory

Si consiglia di non includere le cartelle di sistema /mnt e /media, poiché la loro inclusione comporterebbe il backup di altre partizioni eventualmente montate. È altresì consigliabile escludere le directory /run, /tmp, /var/tmp, /var/run e /dev, in quanto contengono file temporanei, dati di runtime e file speciali di periferica che vengono ricreati dinamicamente all'avvio del sistema e non sono necessari per un ripristino efficace.

Non è necessario effettuare il backup di tutto il sistema, dato che alcune directory non sono indispensabili (compreso il file di backup stesso e quelle contenenti dati temporanei, di runtime o file speciali di periferica).

Aggiungere la data

Al nome del file di backup è possibile aggiungere la data di esecuzione. A tale scopo, è sufficiente inserire la seguente dicitura nel comando di backup:

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

Il comando aggiungerà al nome del file una data in formato «giorno-mese-anno», come nel 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 --exclude=/run --exclude=/tmp --exclude=/var/tmp --exclude=/var_run --exclude=/dev --xattrs --acls /

Ricordarsi di aggiungere --selinux anche qui se il sistema lo richiede.

Compressione della Directory con bzip2

È anche possibile utilizzare bzip2 per comprimere il file di backup. Questo offre una maggiore compressione, sebbene 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 --exclude=/run --exclude=/tmp --exclude=/var/tmp --exclude=/var_run --exclude=/dev --xattrs --acls /

Ricordarsi di aggiungere --selinux anche qui se il sistema lo richiede.

Ripristino

Prestare molta attenzione alle istruzioni seguenti. Errori potrebbero 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 è necessario accedere a una modalità speciale del sistema operativo; è possibile farlo con il sistema in esecuzione. Nel caso in cui l'accesso al sistema non sia possibile, è utilizzabile un DVD/USB live per ottenere gli stessi risultati.

È possibile rimuovere qualsiasi file dal sistema mentre questo è in esecuzione, con tutte le implicazioni al successivo riavvio.

  1. Copiare il file di backup nella directory /.

  2. Per eseguire il ripristino, assicurarsi di includere le stesse opzioni --xattrs, --acls e --selinux (se usata) che sono state usate durante la creazione del backup. Digitare il seguente comando in un terminale:

     sudo tar -xvpzf /backup.tgz -C / --xattrs --acls

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

     sudo tar -xvpzf /backup.tgz -C / --xattrs --acls --selinux

    Per bzip2:

     sudo tar -xvpjf backup.tar.bz2 -C / --xattrs --acls --selinux
    Alcune opzioni:
    • x: estrae i file dall'archivio.

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

    • --xattrs: Ripristina gli attributi estesi.

    • --acls: Ripristina le liste di controllo accessi.

    • --selinux: Ripristina i contesti di sicurezza SELinux.

  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, /run, /tmp, /var/tmp, /var_run, /dev, ecc.):

     sudo mkdir /proc /lost_found /mnt /sys /run /tmp /var/tmp /var_run /dev

Al successivo riavvio, l'intero sistema sarà stato ripristinato.

Backup attraverso la rete

Qualora il disco fisso non disponga di spazio sufficiente o non fosse possibile montarne un altro per salvare il backup, è possibile usare netcat per spostare il file di backup.

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

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

Quindi, inviare in pipe il comando per eseguire il backup con netcat, senza il flag -f, e ricordando di includere --xattrs, --acls e --selinux (se usato) come in questo esempio:

sudo tar -cvpj <tutte le altre opzioni> --xattrs --acls / | nc -q 0 <host_di_ricezione> 1024

«1024» si riferisce al numero di una porta. Utilizzare un numero pari a 1024 o superiore. Ricordarsi di aggiungere --selinux anche qui se il sistema lo richiede.

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 la 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