<Precedenti | Contenuti | Succ.>
2.1. Archivi NFS rotanti
In questa sezione, lo script della shell sarà leggermente modificato per implementare uno schema di rotazione nonno-padre-figlio (mensile-settimanale-giornaliero):
• La rotazione farà un alle lezioni backup dalla domenica al venerdì.
• Sabato a settimanale il backup viene eseguito fornendo quattro backup settimanali al mese.
• Il mensile il backup viene eseguito il primo del mese ruotando due backup mensili a seconda che il mese sia pari o dispari.
Ecco il nuovo copione:
#! / Bin / bash
####################################
#
# Backup su script di montaggio NFS con
# rotazione nonno-padre-figlio.
#
####################################
# Cosa fare per il backup.
backup_files="/home /var/spool/mail /etc /root /boot /opt"
# Dove eseguire il backup. dest="/mnt/backup"
# Variabili di configurazione per il nome del file di archivio. giorno=$(data +%A)
nomehost = $ (nomehost -s)
# Trova quale settimana del mese 1-4 è. day_num=$(data +%-d)
if (( $num_giorno <= 7 )); poi week_file="$hostname-week1.tgz"
elif (( $num_giorno > 7 && $num_giorno <= 14 )); poi week_file="$hostname-week2.tgz"
elif (( $num_giorno > 14 && $num_giorno <= 21 )); poi week_file="$hostname-week3.tgz"
elif (( $num_giorno > 21 && $num_giorno < 32 )); poi week_file="$hostname-week4.tgz"
fi
# Trova se il mese è pari o dispari. mese_num=$(data +%m)
mese=$(espr $mese_num % 2) if [ $mese -eq 0 ]; poi
mese_file="$nomehost-mese2.tgz"
altro
fi
mese_file="$nomehost-mese1.tgz"
# Crea il nome del file di archivio. if [ $num_giorno == 1 ]; quindi archive_file=$month_file
elif [ $giorno != "Sabato" ]; quindi archive_file="$hostname-$day.tgz"
altrimenti archive_file=$week_file
fi
# Stampa il messaggio di stato iniziale.
echo "Backup di $backup_files su $dest/$archive_file" date
eco
# Effettua il backup dei file usando tar.
tar czf $ dest / $ archive_file $ backup_files
# Stampa il messaggio di stato finale. eco
echo Data "Backup terminato"
# Elenco lungo di file in $dest per controllare le dimensioni dei file. ls -lh $destinazione/
Lo script può essere eseguito utilizzando gli stessi metodi della Sezione 1.2, «Esecuzione dello script» [p. 325].
È buona norma portare i supporti di backup fuori sede in caso di disastro. Nell'esempio dello script della shell, il supporto di backup è un altro server che fornisce una condivisione NFS. Con ogni probabilità, portare il server NFS in un'altra posizione non sarebbe pratico. A seconda della velocità di connessione, potrebbe essere un'opzione per copiare il file di archivio su un collegamento WAN su un server in un'altra posizione.
Un'altra opzione è copiare il file di archivio su un disco rigido esterno che può quindi essere portato fuori sede. Poiché il prezzo dei dischi rigidi esterni continua a diminuire, potrebbe essere conveniente utilizzare due unità per ogni livello di archivio. Ciò consentirebbe di avere un'unità esterna collegata al server di backup e una in un'altra posizione.
Documentazione