1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title xmlns="">Bacula</title>
<link rel="stylesheet" href="../../libs/ubuntu-book.css" type="text/css" />
<link rel="home" href="index.html" title="Guida a Ubuntu Server" />
<link rel="up" href="backups.html" title="Capitolo 18. Backup" />
<link rel="prev" href="backups-shellscripts-rotation.html" title="Rotazione degli archivi" />
<link rel="next" href="virtualization.html" title="Capitolo 19. Virtualizzazione" />
<link rel="copyright" href="legal.html" title="Riconoscimenti e licenza" />
</head>
<link href="http://help.ubuntu-it.org/favicon.ico" rel="shortcut icon" />
<body>
<div id="page-border-left-repeat">
<div id="page-border-right-repeat">
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-8147493-2");
pageTracker._trackPageview();
} catch(err) {}</script>
<div id="page-border-top-repeat">
<div id="header">
<div id="header-navigation">
<ul>
<li>
<a href="http://www.ubuntu-it.org">Web</a>
</li>
<li>
<a href="http://wiki.ubuntu-it.org">Documentazione</a>
</li>
<li>
<a href="http://forum.ubuntu-it.org">Forum</a>
</li>
<li>
<a href="http://planet.ubuntu-it.org">Planet</a>
</li>
</ul>
</div>
<form action="http://help.ubuntu-it.org/11.04/ubuntu/search.php" id="cse-search-box">
<div>
<input type="text" name="s" size="28" title="search" />
<input type="submit" value="Cerca" title="search" />
</div>
</form>
</div>
</div>
<div>
<div id="bodyarea">
<div class="pagelocation"><a href="http://help.ubuntu-it.org/">Documentazione di Ubuntu</a> > <a href="http://help.ubuntu-it.org/11.04/ubuntu/index.html">Ubuntu 11.04</a> > <span class="breadcrumb-link"><a href="index.html">Guida a Ubuntu Server</a></span> > <span class="breadcrumb-link"><a href="backups.html">Backup</a></span> > <span class="breadcrumb-node">Bacula</span></div>
<div xmlns="http://www.w3.org/1999/xhtml" class="sect1" title="Bacula">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="bacula"></a>Bacula</h2>
</div>
</div>
</div>
<p><span class="application"><strong>Bacula</strong></span> è un programma per eseguire backup, ripristinare e verificare i dati attraverso la rete. Esistono client Bacula per Linux, Windows, e Mac OS X rendendolo una soluzione multi-piattaforma.</p>
<div class="sect2" title="Panoramica">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="bacula-overview"></a>Panoramica</h3>
</div>
</div>
</div>
<p><span class="application"><strong>Bacula</strong></span> è composto da diversi componenti e servizi usati per la gestione dei file di cui eseguire il backup e dove eseguirlo:</p>
<div class="itemizedlist">
<ul class="itemizedlist" type="disc">
<li class="listitem">
<p><span class="application"><strong>Bacula Director</strong></span>: un servizio che controlla tutte le operazioni di backup, ripristino, verifica e di archiviazione.</p>
</li>
<li class="listitem">
<p><span class="application"><strong>Bacula Console</strong></span>: un'applicazione che consente di comunicare con "Director". Sono disponibili tre versioni:</p>
<div class="itemizedlist">
<ul class="itemizedlist" type="circle">
<li class="listitem">
<p>Versione testuale per la riga di comando.</p>
</li>
<li class="listitem">
<p>Versione grafica per GNOME basata su GTK+.</p>
</li>
<li class="listitem">
<p>Interfaccia wxWidgets.</p>
</li>
</ul>
</div>
</li>
<li class="listitem">
<p><span class="application"><strong>Bacula File</strong></span>: conosciuta anche come <span class="application"><strong>Bacula Client</strong></span>. Questa applicazione è installata nei computer di cui deve essere fatto il backup ed è responsabile dei dati richiesti dal Director.</p>
</li>
<li class="listitem">
<p><span class="application"><strong>Bacula Storage</strong></span>: il programma che esegue l'archiviazione e il ripristino sul dispositivo fisico.</p>
</li>
<li class="listitem">
<p><span class="application"><strong>Bacula Catalog</strong></span>: responsabile per mantenere l'indice dei file e il database di tutti i file, consentendo una facile localizzazione e ripristino. "Catalog" supporta tre diversi database: MySQL, PostgreSQL e SQLite.</p>
</li>
<li class="listitem">
<p><span class="application"><strong>Bacula Monitor</strong></span>: consente di monitorare i demoni "Director", "File" e "Storage". Attualmente "Monitor" è disponibile solo come applicazione GTK+.</p>
</li>
</ul>
</div>
<p>Questi servizi e applicazioni possono essere eseguiti su molteplici server e client oppure possono essere installati su un solo computer se deve essere eseguito il backup di un singolo disco o volume.</p>
</div>
<div class="sect2" title="Installazione">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="bacula-installation"></a>Installazione</h3>
</div>
</div>
</div>
<p>Ci sono molteplici pacchetti che contengono i diversi componenti di <span class="application"><strong>Bacula</strong></span>. Per installare Bacula, in un terminale, digitare:</p>
<pre class="screen">
<span class="command"><strong>sudo apt-get install bacula</strong></span>
</pre>
<p>In modo predefinito, installando il pacchetto <span class="application"><strong>bacula</strong></span> viene usato un database <span class="application"><strong>MySQL</strong></span> per "Catalog". Se si vuole usare SQLite oppure PostgreSQL, installare <span class="application"><strong>bacula-director-sqlite3</strong></span> o <span class="application"><strong>bacula-director-pgsql</strong></span> rispettivamente.</p>
<p>Durante il processo di installazione viene chiesto di fornire delle credenziali per l'<span class="emphasis"><em>amministratore</em></span> del database e per il <span class="emphasis"><em>proprietario</em></span> del database <span class="emphasis"><em>bacula</em></span>. L'amministratore del database deve avere i diritti apporpriati per poter creare un database. Per maggiori informazioni, consultare la <a class="xref" href="mysql.html" title="MySQL">la sezione chiamata «MySQL»</a>.</p>
</div>
<div class="sect2" title="Configurazione">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="bacula-configuration"></a>Configurazione</h3>
</div>
</div>
</div>
<p>I file di configurazione di <span class="application"><strong>Bacula</strong></span> sono formattati in base alle <span class="emphasis"><em>risorse</em></span> composte da <span class="emphasis"><em>direttive</em></span> marcate da parantesi <span class="quote">«<span class="quote">{}</span>»</span>. Ogni compoenente di Bacula dispone di un file nella directory <code class="filename">/etc/bacula</code>.</p>
<p>I diversi componenti di <span class="application"><strong>Bacula</strong></span> devono autorizzarsi tra di loro. Questo è fatto usando la direttiva <span class="emphasis"><em>password</em></span>. Per esempio, la risorsa password di <span class="emphasis"><em>Storage</em></span> nel file <code class="filename">/etc/bacula/bacula-dir.conf</code> deve corrispondere alla risorsa password di <span class="emphasis"><em>Director</em></span> nel file <code class="filename">/etc/bacula/bacula-sd.conf</code>.</p>
<p>In modo predefinito, il lavoro di backup chiamato <span class="emphasis"><em>Client1</em></span> è confoigurato per archiviare il "Catalog" di <span class="application"><strong>Bacula</strong></span>. Se si intende usare il server per eseguire il backup di più di un client, è necessario modificare il nome del lavoro con qualche cosa di più descrittivo. Per fare questo, modificare il file <code class="filename">/etc/bacula/bacula-dir.conf</code>:</p>
<pre class="programlisting">
#
# Define the main nightly save backup job
# By default, this job will back up to disk in
Job {
Name = "BackupServer"
JobDefs = "DefaultJob"
Write Bootstrap = "/var/lib/bacula/Client1.bsr"
}
</pre>
<div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;">
<table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25">
<img alt="[Nota]" src="../../libs/admon/note.png" />
</td>
<th align="left"></th>
</tr>
<tr>
<td align="left" valign="top">
<p>L'esempio precedente modifica il nome del lavoro in <span class="emphasis"><em>BackupServer</em></span>, in corrispondenza del nome host del computer. Sostituire <span class="quote">«<span class="quote">BackupServer</span>»</span> con il nome host appropriato o un altro nome descrittivo.</p>
</td>
</tr>
</table>
</div>
<p><span class="emphasis"><em>Console</em></span> può essere usato per interrogare <span class="emphasis"><em>Director</em></span> riguardo i lavori, ma per poter usare "Console" con un utente <span class="emphasis"><em>non-root</em></span>, l'utente deve essere nel gruppo <span class="emphasis"><em>bacula</em></span>. Per aggiungere un utente al gruppo "bacula", in un terminale, digitare:</p>
<pre class="screen">
<span class="command"><strong>sudo adduser NOME_UTENTE bacula</strong></span>
</pre>
<div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;">
<table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25">
<img alt="[Nota]" src="../../libs/admon/note.png" />
</td>
<th align="left"></th>
</tr>
<tr>
<td align="left" valign="top">
<p>Sostituire <span class="emphasis"><em>NOME_UTENTE</em></span> con il vero nome utente. Inoltre, se si sta aggiungendo l'utente corrente al gruppo, è necessario terminare la sessione e rientrarvi affinché le modifiche abbiano effetto.</p>
</td>
</tr>
</table>
</div>
</div>
<div class="sect2" title="Backup locale">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="bacula-localhost-backup"></a>Backup locale</h3>
</div>
</div>
</div>
<p>Questa sezione descrive come eseguire un backup di specifiche directory di un singolo host in un dispositivo a nastro locale.</p>
<div class="itemizedlist">
<ul class="itemizedlist" type="disc">
<li class="listitem">
<p>Per prima cosa, <span class="emphasis"><em>Storage</em></span> deve essere configurato. Modificare <code class="filename">/etc/bacula/bacula-sd.conf</code>:</p>
<pre class="programlisting">
Device {
Name = "Tape Drive"
Device Type = tape
Media Type = DDS-4
Archive Device = /dev/st0
Hardware end of medium = No;
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = Yes;
RemovableMedia = yes;
RandomAccess = no;
Alert Command = "sh -c 'tapeinfo -f %c | grep TapeAlert'"
}
</pre>
<p>L'esempio è per un dispositivo a nastro <span class="emphasis"><em>DDS-4</em></span>. Modificare "Media Type" e "Archive Device" affinché corrispondano al proprio hardware.</p>
<p>È possibile anche de-commentare uno degli altri file di esempio.</p>
</li>
<li class="listitem">
<p>Una volta modificato il file <code class="filename">/etc/bacula/bacula-sd.conf</code>, il demone <span class="application"><strong>Storage</strong></span> deve essere riavviato:</p>
<pre class="screen">
<span class="command"><strong>sudo /etc/init.d/bacula-sd restart</strong></span>
</pre>
</li>
<li class="listitem">
<p>Ora aggiungere una risorsa <span class="emphasis"><em>Storage</em></span> in <code class="filename">/etc/bacula/bacula-dir.conf</code> per usare il nuovo "Device":</p>
<pre class="programlisting">
# Definition of "Tape Drive" storage device
Storage {
Name = TapeDrive
# Do not use "localhost" here
Address = backupserver # N.B. Use a fully qualified name here
SDPort = 9103
Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj"
Device = "Tape Drive"
Media Type = tape
}
</pre>
<p>La direttiva <span class="emphasis"><em>Address</em></span> deve essere il "Fully Qualified Domain Name" (FQDN) del server. Modificare quindi <span class="emphasis"><em>backupserver</em></span> col nome host attuale.</p>
<p>Inoltre, assicurarsi che la direttiva <span class="emphasis"><em>Password</em></span> corrisponda alla stringa in <code class="filename">/etc/bacula/bacula-sd.conf</code>.</p>
</li>
<li class="listitem">
<p>Creare un nuovo <span class="emphasis"><em>FileSet</em></span>, per determinare di quali directory eseguire il backup:</p>
<pre class="programlisting">
# LocalhostBacup FileSet.
FileSet {
Name = "LocalhostFiles"
Include {
Options {
signature = MD5
compression=GZIP
}
File = /etc
File = /home
}
}
</pre>
<p>Questa sezione <span class="emphasis"><em>FileSet</em></span> farà in modo di eseguire il backup della directory <code class="filename">/etc</code> e <code class="filename">/home</code>. La direttiva <span class="emphasis"><em>Options</em></span> configura "FileSet" per creare una somma MD5 per ogni file di cui è fatto il backup e per comprimere tali file con GZIP.</p>
</li>
<li class="listitem">
<p>Creare una nuova sezione <span class="emphasis"><em>Schedule</em></span> per il lavoro di backup:</p>
<pre class="programlisting">
# LocalhostBackup Schedule -- Daily.
Schedule {
Name = "LocalhostDaily"
Run = Full daily at 00:01
}
</pre>
<p>Il lavoro verrà eseguito ogni giorno alle 00.01. Sono comunque disponibili molte altre opzioni di schedulatura.</p>
</li>
<li class="listitem">
<p>Infine creare il <span class="emphasis"><em>Job</em></span>:</p>
<pre class="programlisting">
# Localhost backup.
Job {
Name = "LocalhostBackup"
JobDefs = "DefaultJob"
Enabled = yes
Level = Full
FileSet = "LocalhostFiles"
Schedule = "LocalhostDaily"
Storage = TapeDrive
Write Bootstrap = "/var/lib/bacula/LocalhostBackup.bsr"
}
</pre>
<p>Questo lavoro crearà un backup <span class="emphasis"><em>Full</em></span> (completo) ogni giorni sul dispositivo a nastro.</p>
</li>
<li class="listitem">
<p>Ogni nastro usato deve avere una <span class="emphasis"><em>Label</em></span>. Se il nastro corrente ne è sprovvisto, <span class="application"><strong>Bacula</strong></span> invierà un'email. Per aggiungere un'etichetta a un nastro usando <span class="application"><strong>Console</strong></span>, in un terminale, digitare:</p>
<pre class="screen">
<span class="command"><strong>bconsole</strong></span>
</pre>
</li>
<li class="listitem">
<p>Al prompt di "Console" digitare:</p>
<pre class="screen">
<span class="command"><strong>label</strong></span>
</pre>
</li>
<li class="listitem">
<p>Viene quindi chiesta la risorsa <span class="emphasis"><em>Storage</em></span>:</p>
<pre class="screen">
<code class="computeroutput">
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
The defined Storage resources are:
1: File
2: TapeDrive
Select Storage resource (1-2):<strong class="userinput"><code>2</code></strong>
</code>
</pre>
</li>
<li class="listitem">
<p>Inserire il nome del nuovo <span class="emphasis"><em>Volume</em></span> (volume):</p>
<pre class="screen">
<code class="computeroutput">
Enter new Volume name: <strong class="userinput"><code>Sunday</code></strong>
Defined Pools:
1: Default
2: Scratch</code>
</pre>
<p>Sostituire <span class="emphasis"><em>Sunday</em></span> con l'etichetta desiderata.</p>
</li>
<li class="listitem">
<p>Ora selezionare <span class="emphasis"><em>Pool</em></span>:</p>
<pre class="screen">
<code class="computeroutput">
Select the Pool (1-2): <strong class="userinput"><code>1</code></strong>
Connecting to Storage daemon TapeDrive at backupserver:9103 ...
Sending label command for Volume "Sunday" Slot 0 ...
</code>
</pre>
</li>
</ul>
</div>
<p><span class="emphasis"><em>Bacula</em></span> è ora configurato per eseguire backup del host locale su un dispositivo a nastro.</p>
</div>
<div class="sect2" title="Risorse">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="bacula-resources"></a>Risorse</h3>
</div>
</div>
</div>
<div class="itemizedlist">
<ul class="itemizedlist" type="disc">
<li class="listitem">
<p>Per maggiori informazioni sulle opzioni di configurazione di <span class="emphasis"><em>Bacula</em></span>, consultare il <a class="ulink" href="http://www.bacula.org/en/rel-manual/index.html" target="_top">manuale di Bacula</a></p>
</li>
<li class="listitem">
<p>Il sito <a class="ulink" href="http://www.bacula.org/" target="_top">di Bacula</a> contiene le ultime notizie dello sviluppo di Bacula.</p>
</li>
<li class="listitem">
<p>Consultare anche la <a class="ulink" href="https://help.ubuntu.com/community/Bacula" target="_top">documentazione di bacula online</a>.</p>
</li>
</ul>
</div>
</div>
</div>
<div xmlns="http://www.w3.org/1999/xhtml" class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="backups-shellscripts-rotation.html"><img src="../../libs/navig/prev.png" alt="Indietro" /></a> </td>
<td width="20%" align="center">
<a accesskey="u" href="backups.html">
<img src="../../libs/navig/up.png" alt="Risali" />
</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="virtualization.html"><img src="../../libs/navig/next.png" alt="Avanti" /></a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Rotazione degli archivi </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">
<img src="../../libs/navig/home.png" alt="Partenza" />
</a>
</td>
<td width="40%" align="right" valign="top"> Capitolo 19. Virtualizzazione</td>
</tr>
</table>
</div>
</div>
</div>
<div id="page-border-bottom-repeat">
<div id="footer">
<div id="copyright">
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.
</div>
</div>
</div>
<div id="page-border-right-top"></div>
<div id="page-border-right-bottom"></div>
</div>
<div id="page-border-left-top"></div>
<div id="page-border-left-bottom"></div>
</div>
<p></p>
</body>
</html>