Newsgroup: it.comp.os.linux.iniziare
Titolo: Backup con tar su nastro

Ciao,
dovrei effettuare il backup con tar di una directory su nastro.
Mi chiedevo...
1) prima di utilizzare la cassetta, devo formattarla?
2) devo effettuare il backup di una directory, escludendo dal backup 
stesso, alcune sottodirectory contenute nella directoru da backuppare. 
Come posso procedere.
3) per controllare che i file su nastro siano stati scritti 
correttamente, dovrei utilizzare il comando tar tvf /dev/sto. Ma, nel 
caso di riutilizzo dela stessa cassetta, come faccio a sapere se, i 
file che mi elenca a video, sono necessariamente relativi all'ultimo 
backup effettuato, oppure a quello precedente?
Grazie
ciao

 backup effettuato, oppure a quello precedente?
Dalla data e ora che ti vengono mostrate?
Andrea

 backup effettuato, oppure a quello precedente?
Immagino che sovrascriverai ogni volta il contenuto della cassetta (usando
/dev/st0 invece di /dev/nst0) quindi non dovresti porti il dubbio. Se cosï¿œ
non ï¿œ allora devi posizionarti sull'ultimo stream salvato usando il comando mt.
-- 
Flavio Visentin
Ubuntu in Zulu significa "Non so usare Debian". (cit. CtRiX)

 Dalla data e ora che ti vengono mostrate?
Ma mi dovrebbe mostrare la data dei singoli file, oppure la data di 
quando è stato effettuato il backup?
Grazie
ciao

 mt.
Hai ragione, ma il mio dubbio è il seguente.
Se faccio il backup di una directory su nastro e, il gorno successivo 
utilizzo la stessa cassetta, non accodando ma sovrascrivendo, e ripeto 
l'operazione per n giorni, quando vado a fare la verifica del nastro, i 
file potrebbero essermi si mostrati, ma magari potrebbe trattarsi non 
di quelli backuppati in quel giorno, ma di quelli di qualche giorno 
prima.
In definitiva, riutilizzando la stessa cassetta e sovrascrivendo, se 
qualcosa un giorno non va, non mi ritroverò la cassetta vuota, che 
potrebbe rendere subito evidente che qualcosa non è andato, ma la 
cassetta con i file di un backup precedente.
Quindi potrei non rendermi conto che, il backup non è andato e i dati 
su cassetta non sono aggiornati.
Grazie
ciao

 quando è stato effettuato il backup?
Singoli files, ma se usi c per creare un nuovo archivio, che io sappia
del precedente non resta traccia facilmente ritrovabile, dato che ci
scrive sopra.

 su cassetta non sono aggiornati.
Comunque mi sembra che ci sia uno switch apposta per la verifica dei
dati scritti, quanto e come funzioni non lo so, ma c'e` e l'ho sempre
usato.
Poi puoi loggare quello che fa il comando di backup e suppongo che se
fallisce o da` errore, restituisca un exit status diverso da quello
che restituisce se tutto va bene e testabile e dunque puoi farti
arrivare una mail di backup OK o KO.
Andrea

 cassetta con i file di un backup precedente.
Scrivi una LABEL ad inizio nastro. Io lo faccio sempre quando devo gestire
pool consistenti. La LABEL sarï¿œ un tar contenente un solo file con i dati
del backup, mentre i dati veri e propri li scrivi in un tar successivo.
Io nella label riporto quando ï¿œ stato usato la prima volta un nastro, quante
volte ï¿œ stato usato, quando ï¿œ stato usato l'ultima volta, quando ï¿œ stata
eseguita l'ultima retention.
Rileggo la LABEL prima del backup e se non c'ï¿œ significa che quel tape non ï¿œ
mai stato usato quindi la scrivo. Se c'ï¿œ invece la leggo, l'aggiorno, la
riscrivo e poi scrivo il backup vero e proprio.
Un estratto...
echo "    Reading Label"
LABEL=$(readlabel)
if [ ! -z "$LABEL" ]
then
    FIRSTUSE=$(echo $LABEL | tr ' ' '\n' | grep FIRSTUSE | cut -d"=" -f2)
    RETENTION=$(echo $LABEL | tr ' ' '\n' | grep RETENTION | cut -d"=" -f2)
    LASTUSEPREV=$(echo $LABEL | tr ' ' '\n' | grep LASTUSE | cut -d"=" -f2)
    NUMUSE=$(echo $LABEL | tr ' ' '\n' | grep NUMUSE | cut -d"=" -f2)
    if [ $(($NUMUSE % 10)) -eq 0 ]
    then
        echo "    Retension tape"
        mt -f $DEVICE retension
        RETENTION=$DATE
    fi
fi
LASTUSE=$DATE
NUMUSE=$(($NUMUSE + 1))
echo "    Writing new label"
writelabel "FIRSTUSE=$FIRSTUSE" "RETENTION=$RETENTION" "LASTUSE=$LASTUSE" \
           "NUMUSE=$NUMUSE"
