Esistono diversi metodi per effettuare dei backup con Linux. Tra
questi vi sono gli strumenti da riga di comando, presenti in ogni
distribuzione Linux, come "dd", "dump", "cpio" e "tar". Sono
inoltre disponibili altre utilità in modalità testo come "Amanda" e
"Taper", progettati per offrire una comoda interfaccia-utente per le
operazioni di backup e restore. Ci sono poi utilità con interfaccia
grafica come "KDat" e quelle commerciali come "BRU" e
"PerfectBackup+". Ognuna di queste soluzioni vi permetterà di
mettere al sicuro i vostri dati.
Potete trovare una breve lista degli strumenti disponibili, con
informazioni su dove reperirli, su "Linux Applications and
Utilities Page" all'indirizzo http://www.xnet.com/~blatura/linapp2.html#back.
Quando decidete di effettuare un backup, dovreste considerare questi
fattori:
Portabilità - Se per voi è
importante la portabilità (cioè la possibilità di effettuare un
backup su una distribuzione Linux o su una implementazione di Unix e,
poi, fare il restore su un'altra, ad esempio, da Solaris a Linux Red
Hat) probabilmente dovreste scegliere uno degli strumenti da riga di comando
(es. "dd", "dump", "cpio", o "tar"), per il semplice fatto che
essi saranno disponibili su ogni sistema *nix.
Backup automatici - Se ritenete
importate che i backup vengano fatti in automatico, ad intervalli di
tempo regolari, senza alcuni intervento umano allora dovreste
scegliere uno strumento che vi permette di fare tutto ciò.
Interfacce user-friendly - Se per
voi è importante avere un qualche tipo d'interfaccia, sia essa
testuale o grafica, allora le utilità commerciali offrono quelle più
semplice e anche il supporto tecnico.
Remote backups - è importante per
voi avere la possibilità di effettuare backup e restore da remoto? Se
si, allora dovreste optare per uno strumento a riga di comando oppure
utilità in modalità testuale, invece di quelle con interfaccia grafica
(a meno che non abbiate una connessione veloce e la possibilità di
lanciare sessioni di X da remoto).
Network backups - Dovete
effettuare backup e restore su una rete? Allora, probabilmente,
dovreste scegliere una delle utilità da riga di comando (come
"tar") che supporta l'accesso di rete ai dispositivi di backup,
oppure strumenti specializzati in questo come "Amanda" o altri strumenti
commerciali.
Media types - I backup possono
essere immagazzinati su diversi media, come nastri, un altro
hard-disk, ZIP drives o su CD masterizzabili. In questo caso dovreste
confrontare i costi con l'affidabilità, la capacità di memorizzazione
e la velocità di trasferimento.
 | Quando fate un backup del vostro file
system, non includete lo
pseudo-filesystem "/proc". I
file in "/proc" non sono
file veri e propri, ma semplicemente dei link che descrivono e puntano
alle strutture-dati del kernel. Fare il backup di un file come
"/proc/kcore" che è uno
pseudo-file con l'intero contenuto della vostra memoria, è solo un
spreco di spazio secondo me! :-) Dovreste, inoltre, evitare di fare il
backup del file system
"/mnt", a meno che non
vogliate fare il backup dei file del CD-ROM, floppy disk, file di rete
condivisi, o di altri dispositivi montati. |
Ovviamente, le procedure per effettuare un backup ed un restore
differiscono, a seconda delle vostre scelte. Comunque, in questa
sezioni, vi mostrerò come effettuare dei backup con gli strumenti che uso
maggiormente, cioè "tar" (che sta per "Tape Archiver") che
funziona a riga di comando e permette la portabilità tra i vari
sistem *nix; e poi "KDat", un utilità con interfaccia grafica
presente in KDE (si veda la Sezione 5.6 per maggiori
informazioni su KDE).
In ultimo, aggiungo che anche se lo strumento che avete scelto non
offre la possibilità di effettuare backup automatici ogni tot tempo,
potete utilizzare cron. Si veda la Sezione 9.4 per
maggiori dettagli sull'uso di cron.
Se decidete di usare "tar" per i vostri backup, avrete bisogno
di un po' di tempo per studiare tutte le varie opzioni disponibili;
digitate "man tar" per vedere la
lista. Avrete inoltre bisogno di sapere come accedere ai media;
sebbene tutti i dispositivi sono trattati come file nel mondo Unix, se
volete scrivere su un nastro, il nome del "file" è il
nome del dispositivo stesso
(es. "/dev/nst0" per un
tape-drive SCSI).
Il seguente comando effettuerà un backup dell'intero sistema
Linux sul file system
"/archive/", ad eccezione
dello pseudo file-system
"/proc/" e di ogni
file-system montato in
"/mnt/", il file system
"/archive/" (non è il caso
di fare il backup del backup stesso), e i file di cache di Squid (che
secondo me sono non sono necessari):
tar -zcvpf /archive/full-backup-`date '+%d-%B-%Y'`.tar.gz \
--directory / --exclude=mnt --exclude=proc --exclude=var/spool/squid . |
Non fatevi intimorire dalla lunghezza del comando appena
descritto! Dopo averlo scomposto nei suoi elementi, vedrete la
bellezza e la potenza di questa utilità.
Il comando prevede l'opzione "z"
(compresso; i dati di backup verranno compressi con "gzip"),
"c" (crea; crea un nuovo archivio),
"v" (verboso; mostra la lista dei file di qui
viene fatto il backup), "p" (mantieni i
permessi; le informazioni per la protezione dei file verranno
"ricordate" per quando poi farete il restore). L'opzione
"f" (file indica che il prossimo argomento sarà
il nome del file di archivio che sta per essere scritto. Notate come
per creare un file con la data corrente, basta includere il comando
"date". Una convenzione comune è quella di aggiungere il suffisso
"tar" per archivi non
compressi, e "tar.gz" per
quelli compressi.
L'opzione "--directory" indica a tar di
andare alla directory specificata
("/" nell'esempio) prima di
iniziare il backup. L'opzione "--exclude" dice a
tar di non includere nel backup le directory o i file specificati. In
ultimo, il carattere "." dice a tar di fare il
backup di tutto il contenuto della directory corrente.
 | È importante capire che le opzione sono
cAsE-sEnSiTiVe! Inoltre, molte delle opzioni possono essere
specificate o con un singolo carattere (es. "f") o col nome completo
dell'opzione (es. "file"). In caso di singola lettere bisogna
anteporre il carattere "-", invece "--" nel caso di
nome completo. Comunque guardate le pagine "man" per
informazioni sull'uso di tar. |
Un altro esempio, questa volta scrivendo solo specificati
file-system (invece di scriverli tutti con le
eccezioni, come dimostrate nell'esempio sopra) su un tape-drive
SCSI:
tar -cvpf /dev/nst0 --label="Backup set created on `date '+%d-%B-%Y'`." \
--directory / --exclude=var/spool/ etc home usr/local var/spool |
Nel comando sopra, l'opzione "z"
(compresso) non viene usata. È caldamente
raccomandato di non scrivere dati compressi su nastro, perché se i
dati presenti su una porzione del nastro si danneggiano, perderete il
vostro intero backup. Comunque, file d'archivio scritti senza
compressione hanno un alto grado di recuperabilità, anche se porzione
dell'archivio sono danneggiate.
 | Il dispositivo
"/dev/nst0" non viene
riavvolto dopo un backup. Quindi è possibile scrivere più backup su un
solo nastro.(Potete riferirvi al dispositivo come
"/dev/nst0", nel qual caso
il nastro sarà automaticamente riavvolto al termine della scrittura
del backup). |
Dato che non possiamo specificare un filename per il backup,
l'opzione "--label" può essere usato per
scrivere alcune informazioni su backup nel file d'archivio
stesso.
Infine, solo i file contenuti in
"/etc/",
"/home/",
"/usr/local" e
"/var/spool/" (ad eccezione
dei file di cache di Squid) verranno scritti sul nastro.
Potete usare i seguenti comandi per riavvolgere e poi espellere
un nastro:
mt -f /dev/nst0 rewind
mt -f /dev/nst0 offline |
 | Suggerimento: Avrete notato che il carattere
"/" (slash) viene eliminato da tar quando un file
d'archivio viene creato. Questo è il modo predefinito per tar, e serve
ad impedire che voi sovrascriviate file critici con versioni più
vecchie di essi. Potreste recuperare il file sbagliato nel processo di
restore. Se proprio non vi piace potete specificare l' opzione
"--absolute-paths", che manterrà gli slash.
Comunque vi raccomando di non farlo, perché è
pericoloso! |
Se state usando KDE, credo che troverete molto utile e
amichevole l'utilità "KDat". Anche perché, utilizza "tar" come
motore. Quindi, i backup scritti con KDat possono essere letti sia con
KDat stesso e sia con tar!! Questo fa di KDat un'ottima scelta.
 | Suggerimento: Anche se scegliete di non usare o installare
il pacchetto completo di KDE, potete sempre
utilizzare KDat, sempre che abbiate installate le librerie
Qt. |
La prima volta che eseguirete il programma KDat, avrete bisogno
di creare un profilo di backup. Tale profilo indica a KDat quali file
del vostro sistema volete includere nel backup. Se volete, potete
creare più di un profilo, a seconda delle vostre esigenza (per
esempio, potete creare un profilo chiamato "Full
Backup" per un backup completo del sistema, e
"Quick Backup" per il backup dei
soli file degli utenti).
Per creare un profilo, scegliete "Create Backup
Profile" dal menu
"File" (oppure cliccate con il tasto
destro sulla cartella "Backup
Profiles" e scegliete "Create Backup
Profile". Sul lato destro della finestra di KDat
potete impostare diverse cose, come il nome del profilo, il nome
dell'archivio, le opzione per tar, ecc. Cliccate sul menu
"Help" per aver maggiori informazioni
su tutte le varie impostazioni.
Per specificare quali file devono essere inclusi nel profilo,
cliccate con il tasto sinistro sulla casella accanto alla cartella
della directory "/". Questo
permetterà di aggiungere al backup tutti i file della directory. Poi,
cliccate sul piccolo "+" accanto alla cartella. Ciò permetterà di
espandere la cartella, mostrando una lista di file. Potrete, in tal
modo, escludere dal backup qualunque file; cliccate semplicemente con
il tasto sinistro sulla casella accanto al file o directory che volete
escludere. Per esempio, un backup completo avrà tutti i file e tutte
le directory spuntate, ad eccezione di
"/proc" (uno pseudo file
system che contiene informazioni sul vostro sistema),
"/mnt" (una directory dove
di solito sono montati i lettori CD-ROM, di dischetti e le risorse di
rete), e, se usate Squid,
"/var/spool/squid" (i file
di cache di Squid). Dopo aver selezionato i file giusti, cliccate sul
profilo di backup che state creando e poi, sempre con tasto sinistro,
sul bottone "Files >>" per
spostare la lista dei file selezionati direttamente nel vostro
profilo.
 | Se i dati da memorizzare del vostro server dovessero
eccedere la capienza del supporto che avete scelto per archiviare i
dati, dovrete creare profili di backup separati, uno per ogni parte
del vostro backup. |
Per fare il backup, inserite un nastro nel drive e scegliete
"Mount Tape" dal menu
"File" (oppure cliccate sull'icona a
forma di nastro). Ciò "monterà" il
nastro (in verità, poiché non è possibile montare tale dispositivo,
quello che fa KDat è riavvolgere il nastro, cercare di leggere le
informazioni nell'header, e in caso di successo, trovare il tape index
sul vostro hard-disk. Altrimenti, KDat vi chiederà di formattare il
nastro.
 | Se KDat continua a lamentarsi che non c'è il
nastro nel drive e invece c'è, assicuratevi di
aver selezionato correttamente il nome del dispositivo tra le
preferenze; cliccate su "Edit" nel
menu e scegliete "User
Preferences". |
Fatto questo, prima di iniziare il backup dovete prima scegliere
il profilo che volete usare. Per avviare il backup, cliccate con il
tasto destro sul profilo desiderato, e poi con il tasto sinistro
sull'opzione "Backup". KDat vi
mostrerà prima una finestra di dialogo con i dettagli del profilo che
avete selezionato; cliccate su "Ok"
per avviare il backup.
Con il backup in corso, KDat mostrerà una finestra di dialogo
con alcune informazioni statistiche (tempo trascorso, dimensioni del
backup, tempo stimato per il completamento, altre al numero di file e
i byte totali scritti), e i file che man mano vengono aggiunti al
backup. Per fare un backup completo, con diversi Gb di dati, possono
volerci diverse ore. Se volete, potete cliccare, in qualsiasi momento,
sul bottone "Abort" per interrompere il backup.
Una volta completato il backup, potete smontare il nastro
scegliendo "Edit" dal menu, e quindi "Unmount
Tape", oppure cliccare sull'icona a forma di nastro, che lo
riavvolgerà e poi lo espellerà.