L&L - Copertina - Linux Zip Install |
Articolo
Tipicamente, quindi, sarà necessario fare piuttosto spesso il backup dei vostri dati, che cambiano con maggiore velocità, mentre il backup del sistema è un'operazione che può essere fatta con frequenza molto minore. In realtà il backup del sistema può anche essere evitato, se avete problemi di spazio; basta fare le copie dei files critici che avete modificato rispetto alle configurazioni di default. Tenete presente che quello che va salvato dipende dal vostro sistema, ma sicuramente dovrete fare una copia di:
/etc/printcap la configurazione delle stampanti
/etc/X11/XF86Setup la configurazione di X
/etc/passwd e/o
/etc/shadow l'elenco degli utenti con le rispettive password
/etc/fstab i filesystem che avete, con le directory in cui
questi vengono montati
Normalmente, come potete vedere, i files da salvare sono quelli della diretory
/etc, che infatti è quella che contiene i files di configurazione. Un'altra
cosa che vi conviene salvare è l'elenco dei pacchetti installati, in modo
da poter ripetere l'installazione. Attenzione però, perché se installate
una versione più recente del sistema, i vecchi files di configurazione
potrebbero non essere compatibili con le nuove versioni dei programmi.
La velocità con cui variano i dati sul vostro sistema influisce sulla frequenza con cui fare le copie di backup. I backup di sistema possono essere piuttosto rari, dato che normalmente in un sistema in produzione le modifiche non sono molto frequenti; se fate un backup dell'intero sistema, però, e poi apportate delle modifiche, appuntatele, in modo da poterle ricostruire in caso di perdita dei dati. I backup utente, invece, devono essere fatti ad intervalli più ravvicinati. Anche in questo caso la frequenza va definita a seconda delle necessità: per il computer di casa può bastare anche una volta al mese, per un sistema che contenga dati critici a volte è necessario anche un backup al giorno.
Per ciascuna delle possibilità vanno considerate le seguenti caratteristiche:
La soluzione più comune è quella di utilizzare un'unità a nastro, che permette di avere supporti di backup di dimensioni notevoli, a prezzo relativamente basso. Linux supporta una vasta gamma di unità a nastro, sia collegabili all'unità floppy sia SCSI; se poi siete collegati in rete con una macchina che ha un'unità a nastro potete utilizzare quella. Vedremo poi come gestire i backup di rete.
Per quantità di dati non molto alte, potete pensare di utilizzare dei dischi ZIP, il cui lettore è disponibile sia in versione SCSI che parallela. Rispetto ad un'unità nastro hanno il vantaggio di essere accessibili in modo casuale, e non solo sequenzialmente come per i nastri, il che si riflette in una maggiore velocità di accesso.
Per chi deve salvare quantità medie di dati che vengono modificati poco spesso, una soluzione da considerare è quella di utilizzare dei CD-ROM. Il vantaggio di questo tipo di supporti è l'altissima durabilità ed il prezzo relativamente basso, il che viene compensato dal fatto che non possono essere utilizzati un numero indefinito di volte.
Chi invece ha bisogno di backup molto ravvicinati nel tempo può pensare di unire ad uno strumento di backup usuale come un nastro, da utilizzare ad intervalli più lontani, la copia su un altro hard disk, anche in rete. Anche se questo non può essere un metodo di backup da usare da solo, può risultare comodo nelle occasioni in cui gli utenti devono poter ad esempio avere un accesso veloce ai file del giorno prima, in caso ne avessero cancellato uno per errore.
Tar e cpio sono in realtà due archiviatori, non strumenti scritti specificamente per fare i backup; a differenza di dump, utilizzano il filesystem per leggere i dati, il che li rende più lenti, ma utilizzabili su qualsiasi tipo di filesystem, mentre il dump di Linux può leggere solo filesystem di tipo ext2. Dump, però, ha molte caratteristiche che tar e cpio non hanno e che quindi devono essere implementate attraverso script, come la possibilità di fare backup multilivello, in cui si salvano solo i files modificati rispetto a backup incrementali di livello superiore.
Quando scelgo lo strumento di backup devo considerare anche la possibilità che detto backup sia compresso prima di inviarlo al nastro; il vantaggio ovvio è quello di occupare meno spazio, ma va considerata anche la possibilità che il supporto di registrazione si rovini, il che implicherebbe la perdita di tutti i dati nel caso di backup compresso, e di solo una parte di essi nel caso di backup non compresso. Valutate quindi l'affidabilità ed il costo del supporto da voi scelto ed agite di conseguenza.
tar
Il modo più semplice di usare tar per un backup è di redirigere il suo output direttamente sul device corrispondente al supporto di backup:In questo modo l'opzione c dice a tar di creare l'archivio, /dev/st0 è il dispositivo corrispondente al tape streamer scsi, e /home/pippo è la directory copiata. Al contrario del tar degli altri unix, il tar gnu sostituisce allo / iniziale ./ , in modo da permettere di scompattare l'archivio in una sottodirectory, senza compromettere il sistema.tar -cvf /dev/st0 /home/pippo
La versione gnu di tar, diversamente da quelle degli altri unix, inoltre, gestisce bene i file speciali, come i link, e mantiene, se utilizzato da utente root, le ownership di utenti e gruppi.
Se il backup non entra in un supporto singolo, va usata l'opzione -multi-volume, o -M:
Quando il primo dischetto sarà pieno, vi chiederà il secondo. Attenzione, i dischetti risultanti (così come i nastri) non contengono un filesystem, ma soltanto dei dati "grezzi". Se provate a montarli, quindi, non potrete leggere niente; nello stesso modo, quando fate le operazioni di backup, non utilizzate dischetti montati, né che abbiano al loro interno dei dati preesistenti, che verrebbero cancellati.tar -cMf /dev/fd0u1440 /home/pippo
Da notare l'opzione v, usata nel primo esempio, che vi stampa a video il file che sta copiando, in modo da farvi rendere conto di cosa stia facendo il programma.
Per estrarre i file dall'archivio, usate l'opzione -x:
Per controllare quale file ci sono nell'archivio, è utile l'opzione -t:tar -xvf /dev/fd0u1440
Per quanto riguarda la possibilità di utilizzare backup compressi, il tar della GNU permette, diversamente dalle versioni degli altri Unix, di utilizzare delle opzioni per la compressione automatica dei dati; in particolare l'opzione -z crea un .tar.gz, compresso con gzip, mentre l'opzione -I, presente solo nelle versioni più recenti, utilizza bzip2, permettendo quindi una compressione molto migliore.tar -tf /dev/fd0u1440
cpio
Cpio opera in maniera molto simile a tar, generando archivi e copiando file in essi e da essi, con il supporto anche per gli stessi archivi generati da tar. Ha tre modalità di utilizzo:I vantaggi della versione GNU di cpio rispetto alle altre versioni di cpio sono:
- copy-out mode copia i file in un archivio
- copy-in mode copia i file da un archivio nel disco
- copy-pass mode copia i file da un albero di directory in un altro.
Il modo più comune di utilizzare cpio in copy-out mode è di mandargli in input un elenco di files e directory selezionati con find. In questo modo possiamo inserire nell'archivio ad esempio solo i files creati dopo una determinata data, o eliminarne quelli con estensioni specifiche, e così via. Per minimizzare gli eventuali problemi con i permessi su directory non scrivibili o non leggibili va data a find l'opzione -depth, che processa il contenuto di una directory prima della directory stessa.
- può accedere ai nastri su altri host usando il TCP/IP
- le opzioni -o e -p può copiare i link simbolici sia come tali sia, con -L, come i file a cui puntano
- l'opzione -i riconosce automaticamente il formato dell'archivio e tenta di recuperare gli archivi corrotti.
La modalità copy-in viene utilizzata invece per estrarre dati da un archivio. E' possibile indicare dei criteri per l'estrazione di una parte soltanto dei file, come anche dopotutto succede per tar.
La modalità copy-pass non serve per utilizzare degli archivi, ma per copiare dei file da una directory ad un'altra, combinando i passi di copy-out e copy-in. E' questa che viene usata in genere per i backup.
Ad esempio, per copiare un albero di directory da un dispositivo ad un altro:
In questo modo si dà in input a cpio, usando il comando find, l'elenco di tutti i file e sottodirectory della directory corrente; cpio poi viene usato in modalità copy-pass (opzione -p), si aspetta che le linee di input siano terminate da un carattere di null (opzione -0), preserva i tempi di modifica dei file (opzione -m) e lascia le directory nel percorso come necessario (opzione -d). L'opzione -u sostituisce tutti i file senza chiedere conferma per la sostituzione.find . -print0 | cpio -p0umd /mnt/tmp
Un altro esempio dell'uso della modalità copy-pass di cpio ci serve se vogliamo fare dei backup incrementali giornalieri: la prima volta usiamo
e le volte successivefind . -print | cpio -pmdv /floppy
L'opzione -mtime -1 di find specifica che nell'archivio vanno inseriti solo i file che sono stati modificati o creati da meno di un giorno.find . -mtime -1 -print | cpio -pmdv /floppy
dump
Dump ed il suo compagno restore permettono di fare backup completi ed incrementali di filesystem. I backup incrementali vengono fatti basandosi sui cosiddetti ``livelli di dump'', per cui in ciascun livello viene fatto il backup dei file modificati dopo l'ultimo backup di livello inferiore. I backup completi, quindi, possono essere considerati di livello zero.Per il recupero dei file, al contrario di tar e cpio, dump ha bisogno di un altro programma, restore, che può recuperare interi filesystem o singoli file o directory. Restore ha anche una modalità interattiva, che permette di scorrere i file contenuti in una directory di cui sia stato fatto il backup per selezionare quelli da estrarre.
Ad esempio, per creare un backup full (di livello zero) si può usare un comando di questo tipo:
che poi si recupera con/sbin/dump -0u -f /dev/nrst1 /home
L'opzione u di dump scrive nel file /var/lib/dumpdates indicando una data per ciascun filesystem di cui si è fatto backup, in modo che le successive operazioni possano essere fatte automaticamente.restore rf /dev/nrst1
Una volta che abbiamo il backup di ordine zero, possiamo passare a backup superiori, che copino solo le modifiche fatte dalla data dell'ultima copia; ad esempio:
In questo modo si ha bisogno dell'intervento dell'operatore solo in caso di errori, o se si deve cambiare il nastro.dump -1u -f /dev/nrst1 /home
Dump, al contrario di tar, legge il filesystem in modalità raw, senza passare per la struttura ext2. Come risultato, se si usa dump non è necessario assicurarsi che l'utente che sta operando il backup abbia accesso a tutti i file che sta copiando; va però considerato anche il fatto che, proprio per questa sua proprietà, dump è estremamente dipendente dal tipo di formattazione del disco: può essere estremamente complesso recuperare un filesystem di cui si è fatto backup con dump su una macchina di architettura e sistema operativo diverso. Tar non ha questo problema, perché legge la struttura dei file dal filesystem.
L&L - Copertina - Linux Zip Install |