Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 15 del 04/02/2007 15.21.52

Nascondi questo messaggio

BR BR

Immagine(Icone/Piccole/warning.png,50,left)ATTENZIONE: Questo documento richiede una revisione. Usatelo a vostro rischio. Si raccomanda di leggere l'intera guida prima di effettuare alcuna operazione. Per una guida più aggiornata consultare la pagina BackupDelSistemaConSbackup

BR

BRQuesta guida al backup del sistema con tar è tratta da un post scritto da Heliode sul Forum Ubuntu. Questo è il thread originale della discussione: [http://www.ubuntuforums.org/showthread.php?t=35087]

Introduzione

Molti di voi probabilmente usavano Windows prima di iniziare ad 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 e fare il boot in una sessione speciale in cui eseguire il back-up 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 files che non possono essere copiati o sovrascritti mentre sono in uso dal sistema, per questo motivo è necessario un software specifico per eseguire questa operazione.

È evidente che questa caratteristica di Windows, come il continuo reboot, è una follia. In Ubuntu non vi è alcuna necessità di usare programmi come Ghost per creare un back-up dell'intero sistema (questo avviene su ogni sistema Linux, peraltro). Del resto utilizzare Ghost su sistemi con filesystem diverso da ext2 sarebbe una pessima idea. ext3, il filesystem standard delle partizioni Ubuntu, è considerato da Ghost come un formato ext2 difettoso e ciò può causare dei danni seri ai dati salvati su di esso.

Il Back-up

Allora vi chiederete "Come faccio a fare il backup del sistema ?". La risposta è semplice: con gli stessi strumenti che utilizzi per archiviare o comprimere ogni altro file: tar. A differenza di Windows, Linux non restringe l'accesso di root per alcuni file, perciò (con i permessi necessari) puoi salvare ogni file presente nella partizione in un file *.tar. Per fare questo, è sufficiente divenire root attraverso il comando:

sudo su

e andare alla directory root del sistema (/); il metodo descritto può essere applicato a qualunque directory o partizione, comprese quelle remote o installate su unità rimovibili. Per spostarsi nella directory root digitate:

cd /

Questo è il comando da utilizzare per fare il back-up del sistema:

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 back-up

  • c: crea un nuovo archivio di backup

  • v: modalità verbose, tar restituisce sullo schermo una descrizione delle operazioni in corso

  • p: mantieni permessi, mantiene intatti i permessi di tutti i files

  • z: comprime il file di back-up con gzip per renderlo più piccolo

  • f <nomefile>: specifica dove salvare il backup, /backup.tgz è il file utilizzato in questo esempio

  • Qui si mettono tutte le directory che si vogliono escludere dal back-up. Non è necessario fare il back-up di tutto quanto, alcune directory non sono indispensabili. Assicuratevi di non includere anche il file di back-up stesso, altrimenti avrete strani risultati. È meglio anche non includere la cartella /mnt, se avete altre partizioni montate lì finirete col fare il back-up anche di quelle. Assiucuratevi anche di non avere niente montato all'interno della cartella /media (ad esempio CD, CD-RW), oppure potete escludere anche la cartella /media.

  • Dopo tutte le opzioni c'è le directory di cui vogliamo fare il back-up. Utilizziamo / dato che vogliamo salvare quasi tutto.

Se volete escludere tutti gli altri filesystems, potete usare l'opzione l al posto di --exclude. Il comando precedente risulterebbe:

tar -cvpzlf /backup.tgz --exclude=/lost+found --exclude=/backup.tgz /

Se il comando è stato scritto giusto, premete Invio e rilassatevi, tutto il procedimento ci metterà un po'.

Dopo questo avrete un file backup.tgz, probabilmente molto grande, all'interno della directory root del filesystem. Ora potete copiarlo su un DVD o spostarlo in un'altra macchina.

Immagine(Icone/Piccole/warning.png,50,left) Files di dimensioni maggiori ai 2GB non sono supportati da ISO9660 e potrebbero essere o non essere ripristinabili. Non create un DVD con una unica immagine .iso del file, dividetelo utilizzando il comando split (controllate il manuale in linea di split, digitando in terminale man split) o utilizzate un altro metodo per copiarlo nel DVD. Una possibilità (non verificata) potrebbe essere:

sudo tar --create --bzip2 --exclude /tmp --one-file-system --sparse / | growisofs -use-the-force-luke -Z /dev/hda=/proc/self/fd/0

Questo comando eseguirà il back-up di un solo filesystem. Potete usare --exclude al posto di --one-file-system per filtrare i files da non salvare. /dev/hda dovrebbe essere il vostro masterizzatore, in caso contrario modificatelo con i vostri parametri. Per ripristinare il file dovrete fare riferimento al file con:

sudo tar --extract --bzip2 --file /dev/hda 

attachment:Icone/Piccole/note.png Alla fine del back-up potreste ricevere un messaggio tipo tar: Error exit delayed from previous errors, nella maggior parte dei casi potete ignorarlo.

Potete anche utilizzare Bzip2 per comprimere il file di back-up. Questo porta un maggiore compressione ad una velocità minore. Se volete avere un file piccolo sostituite, nel comando la z con una j e modificate l'estensione. Il comando diventerebbe:

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

Back-up attraverso la rete

Se il vostro hard-disk non ha abbastanza spazio o non potete montarne un altro in cui salvare il back-up, potete usare netcat per spostare il file di back-up.

Dalla parte del ricevente ipmostate netcat in modo da scrivere il back-up in questo modo:

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

Quindi mandate in pipe il comando per eseguire il back-up, senza il flag f, con netcat in questo modo:

tar -cvpj <all those other options> / | nc -q 0 <receiving host> 1024

attachment:Icone/Piccole/note.png Nel comando precedente 1024 è un numero di porta qualsiasi, un numero da 1024 in su dovrebbe andare bene.

Se tutto funziona correttamente il back-up sarà mandata in pipe attraverso la rete senza toccare il filesystem. Con una rete abbastanza veloce questo potrebbe essere più veloce dello scrivere il file sul disco.

Ripristinare

Immagine(Icone/Piccole/warning.png,50,left) Prestate molta attenzione qui. Se non capite chiaramente quello che state per fare potreste sovrascrivere file importanti per il sistema, prestate attenzione!

BRAssicuratevi di avere i permessi di root o super-utente (consultate il [:Sudo:manuale di Sudo]) e che il file creato sia nella directory root del filesystem.

Una delle pecularietà di Linux è che tutto ciò funziona su un sistema in esecuzione, non c'è bisogno di usare CD di boot o altro. Nel caso in cui il sistema non sia più eseguibile dovrete usare un CD Live, ma i risultati sono gli stessi. Potete rimuovere qualsiasi file dal sistema mentre questo è in esecuzione, con tutto ciò che questo comporta al successivo riavvio.

Questo è il comando da utilizzare per il ripristino:

tar -xvpzf /backup.tgz -C /

Nel caso in cui sia stato utilizzato bunzip2 il comando invece sarà:

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.

Immagine(Icone/Piccole/warning.png,50,left) ATTENZIONE: questo comando sovrascriverà tutti i file della partizione con quelli presenti all'interno dell'archivio!

Premete Invio e rilassatevi, potrebbe metterci un po'. Quando avrà finito avrete un sistema Ubuntu completamente ripristinato. Assicuratevi anche, prima di fare qualsiasi altra cosa, di ri-creare le directory escluse durante il back-up (/proc, /lost+found, /mnt, `/sys'...):

mkdir /proc /lost+found /mnt /sys

Al prossimo riavvio tutto dovrebbe essere come prima di effettuare il back-up.

Ripristinare GRUB

Se volete spostare il vostro sistema su di un altro hard-disk o se avete rovinato l'installazione di GRUB (come quando si installa Windows), dovrete re-installare GRUB. Ci sono molti how-to validi sparsi per la rete e nei forum di Ubuntu. In particolare potete controllare RecuperoUbuntuDopoInstallazioneWindows.

Programmare il backup con cron

L'esecuzione di queste operazioni può essere programmata, e quindi resa automatica, con il comando cron che viene dettagliatamente descritto in questa [:CronHowTo:Guida a Cron].

Metodi alternativi

Consultate la pagina BackupDelSistema.BR Qui si trova una buona ["guida ad amanda"]


Documento originale: [wiki:Ubuntu/BackupYourSystem BackupYourSystem] {en}