Backup su nastro (DAT) con Linux

Si trova ancora in circolazione software che affida il backup dei propri archivi di dati a dispositivi DAT (Digital Audio Tape). Di norma, software di questo genere include tutti gli strumenti necessari per effettuare e ripristinare i backup, ma capita a volte di avere bisogno di effettuare le stesse operazioni lavorando direttamente sugli archivi di dati, senza – in altre parole – passare necessariamente attraverso il software che li ha generati.Bastano poche righe di codice per gestire in maniera semplice questo tipo di operazioni. Per la loro realizzazione sono necessarie le seguenti applicazioni:

  1. tar
  2. mt (o mt-st)
  3. flexbackup

Si tratta di applicazioni spesso già presenti nell’installazione base di gran parte delle distribuzioni Linux. Se non sono presenti sulla Linux box in uso, sarà sufficiente ottenere e installare le rispettive pacchettizzazioni. Se si riscontrano problemi con flexbackup, fare riferimento alla pagina download del sito Internet https://www.flexbackup.org, dove si trovano sia i sorgenti che la pacchettizzazione in formato RPM.

Una volta installate le applicazioni, potrebbe essere necessario caricare uno o più moduli del kernel affinché l’unità di backup venga riconosciuta. Questo accade quanto il DAT è accessibile come unità SCSI, il che accade nella stragrande maggioranza dei casi. Niente drammi, in questi casi è sufficiente documentarsi sui moduli del kernel da caricare e lanciare per ognuno il comando insmod. Ad esempio:

# insmod /lib/modules/2.6.22/kernel/drivers/scsi/aic7xxx_old.ko
# insmod /lib/modules/2.6.22/kernel/drivers/scsi/st.ko

Fatto questo, verifichiamo per prima cosa lo stato della cassetta… Va fatta attenzione all’unità da specificare. Lavorando con Linux si presentano fondamentalmente solo 2 scelte:

  1. /dev/st0
  2. /dev/nst0

La differenza consiste principalmente nel fatto che richiamando la seconda device non verrà riavvolto il nastro. Di norma io preferisco la prima soluzione. Il comando per verificare lo stato della cassetta, dunque, è il seguente:

# mt -f /dev/st0 status
SCSI 2 tape drive:
File number=0, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x25 (DDS-3).
Soft error count since last status=0
General status bits on (41010000):
BOT ONLINE IM_REP_EN

Per effettuare backup giornalieri consiglio la configurazione di flexbackup che allego sotto (vedi il file flexbackup.conf), poiché evita di dover gestire indici e altre funzionalità avanzate non sempre di facile implementazione e, tutto sommato, inutili per l’uso quotidiano.Sarà ora possibile effettuare il backup sul DAT di tutte le directory desiderate mediante il semplice script che allego sotto. Lo script va lanciato da linea di comando e accetta come unico argomento l’elenco delle directory per cui effettuare il backup. Ad esempio:

# ./run_flexbackup.sh "/etc /var /opt"

Una volta effettuato il backup, recuperarlo sarà semplicissimo. Sarà sufficiente infatti spostarsi nella directory in cui si vuole copiare il backup e lanciare il comando:

# flexbackup -extract

Enjoy!

Scarica lo script e il file di configurazione

Condivido

Leave a comment