1
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
5
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Rotazione degli archivi</title><link rel="stylesheet" href="../../common/ubuntu-book.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.72.0" /><link rel="start" href="index.html" title="Guida a Ubuntu server" /><link rel="up" href="backups.html" title="Capitolo 16. Backup" /><link rel="prev" href="backup-shellscripts.html" title="Script shell" /><link rel="next" href="bacula.html" title="Bacula" /><link rel="copyright" href="ln-legal.html" title="Riconoscimenti e licenza" />
8
<link rel="stylesheet" href="../../common/ubuntu-book_ie6.css" />
13
<script xmlns="" language="JavaScript" type="text/javascript" src="http://help.ubuntu-it.org/img/ubuntu-it.js"></script>
17
<div class="header_top_bar"></div>
18
<div id="sfondobarra">
20
<script type="text/javascript">pulsanti("help")</script>
24
<div class="inside_container">
25
<div class="sect1" lang="it" xml:lang="it">
26
<div class="titlepage">
29
<h2 class="title" style="clear: both"><a id="backups-shellscripts-rotation"></a>Rotazione degli archivi</h2>
33
<p>Lo script in <a href="backup-shellscripts.html" title="Script shell">la sezione chiamata «Script shell»</a> consente solamente sette archivi differenti. Per un server i cui dati non cambiano molto spesso questo può essere sufficiente, ma se il server dispone di grossi quantitativi di dati è necessario avere uno schema di rotazione degli archivi più efficiente.</p>
34
<div class="sect2" lang="it" xml:lang="it">
35
<div class="titlepage">
38
<h3 class="title"><a id="backups-nfs-rotation"></a>Rotazione degli archivi NFS</h3>
42
<p>In questa sezione lo script verrà modificato per implementare uno schema di rotazione del tipo progenitore-genitore-figlio (mensile-settimanale-giornaliero).</p>
43
<div class="itemizedlist">
46
<p>La rotazione eseguirà un backup <span class="emphasis"><em>giornaliero</em></span> dalla domenica al venerdì.</p>
49
<p>Il sabato, viene eseguito un backup <span class="emphasis"><em>settimanale</em></span> consentendo di avere così quattro backup settimanali al mese.</p>
52
<p>Il backup <span class="emphasis"><em>mensile</em></span> è eseguito il primo giorno del mese, ruotando due backup mensili se il mese è pari o dispari.</p>
56
<p>Questo è il nuovo script:</p>
57
<pre class="programlisting">
59
####################################
61
# Backup to NFS mount script with
62
# grandfather-father-son rotation.
64
####################################
66
# Di cosa fare il backup.
67
backup_files="/home /var/spool/mail /etc /root /boot /opt"
69
# Dove fare il backup.
72
# Variabili per il nome del file dell'archivio
74
hostname=$(hostname -s)
76
# Trovare quale settimana del mese è (1-4).
78
if (( $day_num <= 7 )); then
79
week_file="$hostname-week1.tgz"
80
elif (( $day_num > 7 && $day_num <= 14 )); then
81
week_file="$hostname-week2.tgz"
82
elif (( $day_num > 14 && $day_num <= 21 )); then
83
week_file="$hostname-week3.tgz"
84
elif (( $day_num > 21 && $day_num < 32 )); then
85
week_file="$hostname-week4.tgz"
88
# Trovare se il mese è pari o dispari.
90
month=$(expr $month_num % 2)
91
if [ $month -eq 0 ]; then
92
month_file="$hostname-month2.tgz"
94
month_file="$hostname-month1.tgz"
97
# Creare il file dell'archivio.
98
if [ $day_num == 1 ]; then
99
archive_file=$month_file
100
elif [ $day != "Saturday" ]; then
101
archive_file="$hostname-$day.tgz"
103
archive_file=$week_file
106
# Stampa messaggio di inizio backup.
107
echo "Esecuzione del backup di $backup_files in $dest/$archive_file"
111
# Creazione del backup con tar.
112
tar czf $dest/$archive_file $backup_files
114
# Stampa messaggio finale.
116
echo "Backup completato"
119
# Elenco dei file in $dest per controllarne la dimensione.
122
<p>Lo script può essere eseguito attraverso gli stessi metodi descritti in <a href="backup-shellscripts.html#backup-executing-shellscript" title="Eseguire lo script">la sezione chiamata «Eseguire lo script»</a>.</p>
123
<p>È buona pratica conservare i dispositivi contenenti backup in un posto sicuro, in caso di disastri. Nello script di esempio, il dispositivo di backup consiste di un server con una condivisione NFS. Portare il server NFS in un'altra locazione non è praticabile, ma in base alla velocità di connessione potrebbe essere utile copiare i file attraverso un collegamento WAN verso un server in un'altra posizione.</p>
124
<p>Un'altra opzione potrebbe essere il copiare l'archivio in un disco esterno che può essere portato in altre luoghi. Dato che i prezzi dei dischi esterni è in continuo calo, potrebbe essere fattibile usare due dischi per ogni livello di archivio, consentendo così di avere un disco esterno collegato al server di backup e un altro in un'altra locazione.</p>
126
<div class="sect2" lang="it" xml:lang="it">
127
<div class="titlepage">
130
<h3 class="title"><a id="backup-shellscript-tapedrive"></a>Dispositivi a nastro</h3>
134
<p>Invece di usare una condivisione NFS, è possibile utilizzare un dispositivo a nastro collegato al server. Un dispositivo di questo tipo semplifica la rotazione degli archivi e il portare il dispositivo stesso in un'altra locazione.</p>
135
<p>Quando viene usato un dispositivo a nastro, la parte relativa al nome del file non è necessaria in quanto la data è inviata direttamente al dispositivo, ma sono necessari alcuni comandi per manipolare il nastro. In particolare <span><strong class="application">mt</strong></span>, un'utilità di controllo nastri magnetici parte del pacchetto <span><strong class="application">cpio</strong></span>.</p>
136
<p>Questo è lo script modificato per l'uso di un dispositivo a nastro:</p>
137
<pre class="programlisting">
139
####################################
141
# Backup to tape drive script.
143
####################################
145
# Di cosa fare il backup.
146
backup_files="/home /var/spool/mail /etc /root /boot /opt"
148
# Dove fare il backup.
151
# Stampa messaggi di inizio.
152
echo "Backu di $backup_files in $dest"
156
# Assicurarsi che il nastro sia riavvolto del tutto.
159
# Backup dei file con tar.
160
tar czf $dest $backup_files
162
# Riavvolgere ed espellere il nastro.
165
# Stampa messaggio finale.
167
echo "Backup completato"
170
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
171
<table border="0" summary="Note">
173
<td rowspan="2" align="center" valign="top" width="25">
174
<img alt="[Nota]" src="../../images/admon/note.png" />
176
<th align="left"></th>
179
<td align="left" valign="top">
180
<p>Il nome del device predefinito per un dispositivo a nastro SCSI è <code class="filename">/dev/st0</code>, utilizzare il percorso al device appropriato per il proprio sistema.</p>
185
<p>Ripristinare i dati da un dispositivo a nastro funziona allo stesso modo di ripristinare da un file. Riavvolgere il nastro e usare il percorso del dispositivo al posto del percorso al file. Per esempio, per ripristinare il file <code class="filename">/etc/hosts</code> in <code class="filename">/tmp/etc/hosts</code>:</p>
187
<span><strong class="command">mt -f /dev/st0 rewind</strong></span>
188
<span><strong class="command">tar -xzf /dev/st0 -C /tmp etc/hosts</strong></span>
193
<div class="footer_container" id="footer_container">
194
<div class="navfooter">
196
<table width="100%" summary="Navigation footer">
198
<td width="40%" align="left"><a accesskey="p" href="backup-shellscripts.html"><img src="../../images/navig/prev.gif" alt="Indietro" /></a> </td>
199
<td width="20%" align="center">
200
<a accesskey="u" href="backups.html">
201
<img src="../../images/navig/up.gif" alt="Risali" />
204
<td width="40%" align="right"> <a accesskey="n" href="bacula.html"><img src="../../images/navig/next.gif" alt="Avanti" /></a></td>
207
<td width="40%" align="left" valign="top">Script shell </td>
208
<td width="20%" align="center">
209
<a accesskey="h" href="index.html">
210
<img src="../../images/navig/home.gif" alt="Partenza" />
213
<td width="40%" align="right" valign="top"> Bacula</td>
219
<div class="wrapper_it">
220
© 2005 - 2008 <a href="http://www.canonical.com">Canonical Ltd.</a> Ubuntu e Canonical sono marchi registrati da Canonical Ltd.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/deed.it"><img alt="Licenza Creative Commons" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/2.5/it/80x15.png" /></a> Questa opera è pubblicata sotto una <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/legalcode">licenza Creative Commons</a></div>
222
<div id="bg-right"> </div>
223
<div id="bottom-right"> </div>
225
<div id="bg-left"> </div>
226
<div id="bottom-left"> </div>