Molti di voi probabilmente usavano Windows prima di iniziare a usare Ubuntu. Prima o poi avrete avuto la necessità di fare il backup e ripristinare il sistema. In Windows queste operazioni richiedono software proprietario per il quale avrete dovuto riavviare il sistema ed eseguire l’avvio in una sessione speciale in cui eseguire il backup o il ripristino (questo avviene con programmi come Norton Ghost).
Sicuramente vi sarete chiesti per quale motivo non fosse possibile semplicemente salvare l’intera unità C:\ in un archivio *.zip. Quest’operazione è impossibile perché in Windows ci sono molti file che non possono essere copiati o sovrascritti mentre sono in uso dal sistema. Per questo, è necessario un software specifico.
In Ubuntu non vi è alcuna necessità di usare programmi come Ghost per creare un backup dell’intero sistema. Utilizzare Ghost su sistemi con un filesystem diverso da ext2 può causare degli errori: ext3, il filesystem standard delle partizioni Ubuntu, è considerato da Ghost come un formato ext2 difettoso.
Il backup
Con Ubuntu è possibile eseguire un backup con gli stessi strumenti utilizzati per archiviare o comprimere ogni altro file: tar.
Per eseguire un backup dell’intero sistema partendo dalla directory root /, è necessario utilizzare il comando sudo.
Spostarsi nella directory /
cd /
Il comando da utilizzare per fare il backup del sistema è:
sudo tar -cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
Vediamo ora di spiegare questa sintassi:
- tar: è il programma necessario a fare 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
- Di seguito vengono indicate tutte le directory da escludere dal backup. Non è necessario fare il backup di tutto quanto, alcune directory non sono indispensabili. Assicurarsi di non includere anche il file di backup stesso, altrimenti si potrebbero avere strani risultati. È anche consigliato non includere le cartella /mnt e /media: nel caso ci siano altre partizioni montate, si farebbe il backup anche di quelle.
- Dopo tutte le opzioni c’è le directory di cui vogliamo fare il backup. In questo caso è indicato / per salvare quasi tutto.
Digitato il comandi, premere Invio per avviare il backup. Tutto il procedimento impiegherà un po’ di tempo. Verrà quindi creato il file backup.tgz, probabilmente molto grande, all’interno della directory / del file system. Ora, è possibile copiarlo su un DVD o spostarlo in un altro computer.
È possibile anche utilizzare bzip2 per comprimere il file di backup. Questo porta un maggiore compressione a discapito di una velocità minore. Sostituire nel comando precedente l’opzione z con j e modificare l’estensione del file di backup:
tar -cvpjf /backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys /
Aggiungere la data al file di backup
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 finale sarà simile al seguente:
tar -cvpjf /backup-'date+%d-%m-%Y'.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys /
Il precedente comando aggiungerà al nome del file una data in formato «giorno-mese-anno».
Ripristinare
Prestare molta attenzione alle istruzioni seguenti, 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, è possibile farlo con il sistema in esecuzione. Nel caso in cui non si riesca ad accedere al sistema, è possibile utilizzare un D live per ottenere gli stessi risultati.
Potete rimuovere qualsiasi file dal sistema mentre questo è in esecuzione, con tutto ciò che questo comporta al successivo riavvio.
- Copiare il file di backup nella directory
/
- Per eseguire il ripristino, digitare:
sudo tar -xvpzf /backup.tgz -C /
- Nel caso in cui sia stato utilizzato bunzip2, digitare:
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.
- Premere Invio per avviare il ripristino. La procedura potrebbe impiegare un po’ di tempo. Al termine il sistema sarà completamente ripristinato. Assicurarsi, prima di fare qualsiasi altra cosa, di ricreare le directory escluse durante il backup nel caso siano state compromesse (/proc, /lost+found, /mnt, /sys…):
mkdir /proc /lost+found /mnt /sys
Al prossimo riavvio tutto dovrebbe essere come prima di effettuare il backup.
Fonte:Wiki-Ubuntu
Volevo solo precisare che gli apici, necessari al comando di inserimento della data, devono essere invertiti: ‘ e non normali ‘ .
Ciao 
L’apice invertito si ottiene dal terminale linu con alt+’apice’ e da windows con alt+0145.
Grazie dell’articolo.
Ciao
le directory non necessarie sono solo /mnt /sys /proc /lost+found ?
non si può escludere qualcos’altro di non necessario o serve tutto per far ripartire il sistema backuppato?
Davvero un eccellente post. Ho provato ad eseguire la stessa procedura con CPIO e CP insieme alle rispettive opzioni di persistenza per non alterare permessi e simlink, ma nessuno dei due mi ha dato un risultato soddisfacente come quello ottenuto dalle tue indicazioni. Ciao
@Ross
Grazie….. felice di esserti stata utile 🙂
Bell’articolo per forza, mai letta la documentazione di ubuntu-it.org eh?
http://wiki.ubuntu-it.org/AmministrazioneSistema/BackupDelSistema/BackupConTar
ma và…… chi lo avrebbe mai detto?????
Io la fonte quando copiai l’articolo la misi…….forse non lo hai notato….. 🙂