]> git.sur5r.net Git - bacula/docs/blob - docs/manuals/de/concepts/tutorial.tex
Tweak downloads report
[bacula/docs] / docs / manuals / de / concepts / tutorial.tex
1 %%
2 %%
3
4 \chapter{Kurzanleitung}
5 \label{TutorialChapter}
6 \index[general]{Kurzanleitung}
7
8 Diese Kapitel soll Ihnen helfen Bacula in Betrieb zu nehmen.
9 Dazu wird vorrausgesetzt, dass Sie Bacula installiert aber noch keine
10 \"{A}nderungen an den Konfigurations-Dateien (.conf) vorgenommen haben.
11 Falls Sie schon \"{A}nderungen durchgef\"{u}hrt haben, deinstallieren Sie
12 Bacula und installieren es erneut. Alle Beispiele in diesem Kapitel gehen
13 von der Standard-Konfiguration nach der Installation aus. Wenn Sie Bacula
14 in Ihrem Home-Verzeichnis installiert haben, sind keine root-Rechte notwendig
15 um den Beispielen zu folgen. Alle Volumes werden in /tmp erstellt und es wird nur
16 das Verzeichnis mit dem Bacula-Quelltext gesichert. Beachten Sie bitte, dass
17 bei produktiven Installationen zumindest der Bacula-Client-Dienst (bacula-fd)
18 als Benutzer root laufen muss. Mehr Informationen dazu finden Sie im Kapitel
19 \"{u}ber Sicherheitsbelange im Bacula-Installations-Handbuch..
20
21 Der generelle Ablauf ist folgender:
22
23 \begin{enumerate}
24 \item cd \lt{}Installations-Verzeichnis\gt{}  
25 \item starten Sie die Datenbank (falls Sie MySQL oder PostgreSQL benutzen)
26 \item starten Sie die Bacula-Dienste mit {\bf ./bacula start}  
27 \item starten Sie das Console-Programm um den Director-Dienst bedienen zu k\"{o}nnen
28 \item starten Sie einen Backup-Job
29 \item Wenn das Volume voll ist, m\"{u}ssen Sie es unmounten, falls es ein Tape ist,
30    m\"{u}ssen Sie ein neues labeln. Allerdings wird in diesem Kapitel nur mit 
31    Festplatten-Volumes gearbeitet, so dass Sie sich im Moment noch keine Gedanken
32    um Tape machen m\"{u}ssen.
33 \item versuchen Sie einige der gerade gesicherten Dateien wiederherzustellen.
34    Stellen Sie dabei sicher, dass die Dateien dabei korrekt verarbeitet werden.
35    Es ist besser jetzt zu testen, als auf den Ernstfall zu warten.
36 \item f\"{u}gen Sie einen zweiten Client hinzu.
37    \end{enumerate}
38
39 Jeder dieser Schritte wird im folgenden ausf\"{u}hrlich erkl\"{a}rt.
40
41 \section{Vor dem Start von Bacula}
42 \index[general]{Bacula!vor dem Start }
43 \index[general]{Vor dem Start von Bacula}
44
45 % TODO: some of this content is already covered once or twice critical
46 % TODO: or quickstart. Consolidate!
47
48 Bevor Sie Bacula das erste Mal in der Produktion einsetzen, empfehlen wir
49 Ihnen das {\bf test}-Kommando des btape-Programms auszuf\"{u}hren.
50 Die Beschreibung dazu finden Sie im Kapitel {\bf btape} des Handbuchs
51 \"{u}ber die Bacula-Dienstprogramme. Dadurch k\"{o}nnen Sie sicherstellen,
52 dass Bacula ordnungsgem\"{a}{\ss} mit Ihrem Bandlaufwerk zusammenarbeitet.
53 Wenn Sie ein modernes HP, Quantum oder Sony DDS- oder DLT-Laufwerk unter
54 Linux verwenden, k\"{o}nnen Sie diesen Test auslassen, da diese Kombination
55 im Normalfall immer funktionieren. In allen anderen F\"{a}llen sollten Sie
56 diesen Tests aber durchf\"{u}hren bevor Sie hier weitermachen. Innerhalb
57 des btape-Programms k\"{o}nnen Sie auch mittels des {\bf fill}-Kommandos
58 das Vollschreiben eines Tapes simulieren, so dass Bacula ein neus Tape laden
59 muss, um den Test fortzusetzen. Bedenken Sie aber, dass ein solcher Test mehrere
60 Stunden dauern kann, abh\"{a}ngig von der Speicherkapazit\"{a}t Ihres Bandlaufwerks.
61
62 \section{Starten der Datenbank}
63 \label{StartDB}
64 \index[general]{Starten der Datenbank}
65 \index[general]{Datenbank!Starten der }
66
67 Wenn Sie MySQL oder PostgreSQL als Katalog-Datenbank benutzen, m\"{u}ssen
68 Sie die Datenbank vor Bacula starten. Andernfalls werden Sie beim Start von
69 Bacula Fehlermeldungen erhalten. Um Ihre lokale MySQL-Instanz zu starten oder
70 zu stoppen, k\"{o}nnen Sie die Scripte {\bf startmysql} und {\bf stopmysql}
71 aus dem Bacula-Quelltext verwenden. Im Falle von SQLite ist kein Start der
72 Datenbank notwendig, dass wird beim Start von Bacula automatisch getan.
73 In Produktionsumgebungen sollten Sie sicherstellen, dass Ihre Katalog-Datenbank
74 im Falle eines Reboots vor dem Bacula-Diensten gestartet wird.
75
76 \section{Starten der Bacula-Dienste}
77 \label{StartDaemon}
78 \index[general]{Starten der Bacula-Dienste }
79 \index[general]{Bacula-Dienste!Starten der }
80
81 Wenn Sie Bacula aus dem Quelltext \"{u}bersetzt oder die rpm-Pakete
82 installiert haben, k\"{o}nnen Sie die drei Bacula-Dienste einfach
83 durch Eingabe von:
84
85 ./bacula start
86
87 im Installations-Verzeichnis starten.
88
89 Dieses Script starten den Storage-, File- und Director-Dienst, die danach
90 im Hintergrund ausgef\"{u}hrt werden. Wenn Sie die Autostart-Scripte mitinstalliert
91 haben, k\"{o}nnen Sie Bacula automatisch beim Rechnerstart oder auch gezielt
92 \"{u}ber {\bf bacula-dir}, {\bf bacula-fd} und {\bf bacula-sd} im Verzeichnis
93 {\bf /etc/init.d}, die einzelnen Dienste starten und stoppen.
94
95 Wie Sie die Dienste unter Windows starten und anhalten k\"{o}nnen, finden
96 Sie im Kapitel "`Die Windows-Version von Bacula"' in diesem Handbuch.
97
98 Bei der Installation der rpm-Pakete werden die Dienste so konfiguriert,
99 dass sie unter der Gruppe bacula als Benutzer root ausgef\"{u}hrt werden.
100 Die Gruppe bacula wird dabei, falls notwendig, automatisch erstellt.
101 Alle Benutzer die der Gruppe bacula angeh\"{o}ren haben Zugriff auf alle
102 Dateien die die Dienste anlegen. Um das abzu\"{a}ndern, m\"{u}ssen Sie diese
103 Start-Scripte entsprechend anpassen:
104
105 \begin{itemize}
106 \item /etc/bacula/bacula 
107 \item /etc/init.d/bacula-dir 
108 \item /etc/init.d/bacula-sd 
109 \item /etc/init.d/bacula-fd 
110 \end{itemize}
111
112 und Bacula, wie oben beschrieben, neu starten.
113
114 Im Bacula-Installations-Handbuch wird beschrieben, welche Schritte
115 durchzuf\"{u}hren sind, um Bacula automatisch beim booten des Systems
116 zu starten.
117
118 \section{Starten der Console}
119 \index[general]{Console!Starten der}
120 \index[general]{Starten der Console}
121 % TODO: section name is too long; maybe use "Using the Console Program" ??
122
123 Um den Status von Jobs abzufragen oder um neue Jobs zu starten m\"{u}ssen Sie
124 , aus dem Installationsverzeichnis, das Console-Programm starten:
125
126 ./bconsole 
127
128 Alternativ zu diesem Kommando k\"{o}nnen Sie auch das Bacula-Administration-Tool
129 verwenden. Das setzt vorraus, dass Sie Qt4 installiert und bei der Konfiguration des
130 Bacula-Quelltextes die Option {\bf \verb:--:enable-bat} angegeben haben.
131 Starten Sie bat mit:
132
133 ./bat
134
135 bat bietet Ihnen eine graphische Benutzerschnittstelle zum Director-Dienst
136 und wesentlich mehr Funktionen als die bconsole.
137
138 Weitere M\"{o}glichkeiten sind die GNOME-Konsole {\bf bgnome-console} oder
139 das wxWidgets-Programm {\bf bwx-console}.
140
141 Der Einfachheit halber wird hier nur die bconsole beschrieben. Die meisten
142 Kommandos k\"{o}nnen Sie aber in identischer Form auch mit bat, bgnome-console
143 und der bwx-console ausf\"{u}hren.
144
145 Das Befehl ./bconsole startet das Console-Programm das sich mit dem
146 Bacula-Director-Dienst verbindet. Da Bacula ein netzwerkf\"{a}higes Programm ist,
147 k\"{o}nnen Sie die Console auf einem beliebigen Computer starten. Meistens wird
148 es aber auf derselben Maschine, auf der auch der Director-Dienst l\"{a}uft,
149 ausgef\"{u}hrt. Beim starten gibt die Console folgendes aus:
150
151 \footnotesize
152 \begin{verbatim}
153 [kern@polymatou bin]$ ./bconsole
154 Connecting to Director lpmatou:9101
155 1000 OK: HeadMan Version: 2.1.8 (14 May 2007)
156 *
157 \end{verbatim}
158 \normalsize
159
160 Der Stern ist das Console-Prompt.
161
162 Geben Sie {\bf help} ein, um eine Liste der verf\"{u}gbaren Kommandos zu erhalten:
163
164 \footnotesize
165 \begin{verbatim}
166 *help
167   Command    Description
168   =======    ===========
169   add        add media to a pool
170   autodisplay autodisplay [on|off] -- console messages
171   automount  automount [on|off] -- after label
172   cancel     cancel [<jobid=nnn> | <job=name>] -- cancel a job
173   create     create DB Pool from resource
174   delete     delete [pool=<pool-name> | media volume=<volume-name>]
175   disable    disable <job=name> -- disable a job
176   enable     enable <job=name> -- enable a job
177   estimate   performs FileSet estimate, listing gives full listing
178   exit       exit = quit
179   gui        gui [on|off] -- non-interactive gui mode
180   help       print this command
181   list       list [pools | jobs | jobtotals | media <pool=pool-name> |
182 files <jobid=nn>]; from catalog
183   label      label a tape
184   llist      full or long list like list command
185   memory     print current memory usage
186   messages   messages
187   mount      mount <storage-name>
188   prune      prune expired records from catalog
189   purge      purge records from catalog
190   python     python control commands
191   quit       quit
192   query      query catalog
193   restore    restore files
194   relabel    relabel a tape
195   release    release <storage-name>
196   reload     reload conf file
197   run        run <job-name>
198   status     status [[slots] storage=<name> | dir | client]=<name>
199   setdebug   sets debug level
200   setip      sets new client address -- if authorized
201   show       show (resource records) [jobs | pools | ... | all]
202   sqlquery   use SQL to query catalog
203   time       print current time
204   trace      turn on/off trace to file
205   unmount    unmount <storage-name>
206   umount     umount <storage-name> for old-time Unix guys
207   update     update Volume, Pool or slots
208   use        use catalog xxx
209   var        does variable expansion
210   version    print Director version
211   wait       wait until no jobs are running [<jobname=name> | <jobid=nnn> | <ujobid=complete_name>]
212 *
213 \end{verbatim}
214 \normalsize
215
216 Im Bacula-Console-und-Benutzer-Handbuch finden Sie eine detaillierte
217 Beschreibung aller Kommandos.
218
219 \section{Starten des ersten Jobs}
220 \label{Running}
221 \index[general]{Job!Starten des ersten }
222 \index[general]{Starten des ersten Jobs }
223
224 An diesem Punkt gehen wir von folgenden Voraussetzungen aus:
225
226 \begin{itemize}
227 \item Der Bacula-Quelltext wurde konfiguriert mit {\bf ./configure \verb:--:Ihre-Optionen} 
228 \item Der Quelltext wurde \"{u}bersetzt, mit {\bf make} 
229 \item Bacula ist installiert worden, mit {\bf make install} 
230 \item Sie haben die Bacula-Datenbank erstellt, z.B. mit
231    {\bf./create\_sqlite\_database} 
232 \item Sie haben die notwendigen Tabellen erstellt, z.B. mit
233    {\bf ./make\_bacula\_tables} 
234 \item Sie haben eventuell die Director-Dienst-Konfiguration ({\bf bacula-dir.conf})
235    an Ihr System angepasst. Beachten Sie bitte, dass wenn Sie den Director-Namen
236    \"{a}ndern, dass Sie ihn dann in allen Konfigurations-Dateien anpassen m\"{u}ssen.
237    F\"{u}r den Augenblick ist es einfacher, die Konfigurations-Dateien nicht zu \"{a}ndern.
238 \item Sie haben Bacula gestartet, mit {\bf ./bacula start}  
239 \item Sie haben mit {\bf ./bconsole} das Console-Programm gestartet.
240 \end{itemize}
241
242 Weiterhin nehmen wir an, dass Bacula mit der Standard-Konfiguration l\"{a}uft.
243
244 Geben Sie das folgende Kommando in der Console ein:
245
246 \footnotesize
247 \begin{verbatim}
248 show filesets
249 \end{verbatim}
250 \normalsize
251
252 und Sie bekommen, in etwa, diese Ausgaben angezeigt:
253
254 \footnotesize
255 \begin{verbatim}
256 FileSet: name=Full Set
257       O M
258       N
259       I /home/bacula/regress/build
260       N
261       E /proc
262       E /tmp
263       E /.journal
264       E /.fsck
265       N
266 FileSet: name=Catalog
267       O M
268       N
269       I /home/bacula/regress/working/bacula.sql
270       N
271 \end{verbatim}
272 \normalsize
273
274 Was Sie sehen ist ein vordefiniertes FileSet namens "`Full Set"',
275 dass das Verzeichnis mit Ihrem Bacula-Quelltext sichert.
276 Der angeteigte Verzeichnisname ist abh\"{a}ngig von Ihrer
277 Konfiguration. Zum Testen ist das ein gutes Verzeichnis,
278 es ist von angemessener Gr\"{o}{\ss} und enth\"{a}lt gen\"{u}gend Dateien,
279 ohne zu un\"{u}bersichtlich zu sein. Das zweite angezeigte FileSet,
280 namens "`Catalog"', wird benutzt um die Katalog-Datenbank zu sichern,
281 aber das ist im Moment noch nicht von Interesse. Alle Eintr\"{a}ge mit {\bf I}
282 bezeichnen Verzeichnisse oder Dateien die vom Job "`included"', also gesichert
283 werden sollen. Die {\bf E}-Eintr\"{a}ge bezeichnen Dateien und Verzeichnisse
284 die "`excluded"', also nicht gesichert werden sollen. Eintr\"{a}ge mit {\bf O}
285 geben FileSet-Optionen an. Die FileSet-Eintr\"{a}ge k\"{o}nnen in der Konfigurations-Datei
286 des Director-Dienstes angepasst werden. Das passiert innerhalb des FileSet-Eintrags
287 bei den Zeilen die mit {\bf File=} beginnen.
288
289 Jetzt k\"{o}nnen Sie Ihren ersten Backup-Job starten. Der Job wird das Verzeichnis
290 mit dem Bacula-Quelltext auf ein Festplatten-Volume unterhalb von /tmp sichern.
291 Geben Sie bitte folgendes Kommando ein:
292
293 \footnotesize
294 \begin{verbatim}
295 status dir
296 \end{verbatim}
297 \normalsize
298
299 und Sie erhalten diese Ausgaben: 
300
301 \footnotesize
302 \begin{verbatim}
303 rufus-dir Version: 1.30 (28 April 2003)
304 Daemon started 28-Apr-2003 14:03, 0 Jobs run.
305 Console connected at 28-Apr-2003 14:03
306 No jobs are running.
307 Level          Type     Scheduled          Name
308 =================================================================
309 Incremental    Backup   29-Apr-2003 01:05  Client1
310 Full           Backup   29-Apr-2003 01:10  BackupCatalog
311 ====
312 \end{verbatim}
313 \normalsize
314
315 wobei die Uhrzeiten, Director-Version und -Name bei Ihrer Installation
316 wahrscheinlich abweichen. Die Ausgabe zeigt Ihnen, dass ein inkrementeller
317 Backup-Job f\"{u}r den Client "`Client1"' um 01:05 Uhr geplant ist. Danach,
318 um 01:10 Uhr, wird ein Voll-Backup der Katalog-Datenbank ausgef\"{u}hrt.
319 Bevor Sie sp\"{a}ter weitere Clients zu Ihrer Konfiguration hinzuf\"{u}gen,
320 sollten Sie den Namen "`Client1"' z.B. auf den Namen Ihres Computers setzen,
321 ansonsten kann es mit mehreren Clients un\"{u}bersichtlich werden.
322
323 Geben Sie jetzt
324
325 \footnotesize
326 \begin{verbatim}
327 status client
328 \end{verbatim}
329 \normalsize
330
331 ein um sich den Status Ihres Clients anzeigen zu lassen:
332
333 \footnotesize
334 \begin{verbatim}
335 The defined Client resources are:
336      1: rufus-fd
337 Item 1 selected automatically.
338 Connecting to Client rufus-fd at rufus:8102
339 rufus-fd Version: 1.30 (28 April 2003)
340 Daemon started 28-Apr-2003 14:03, 0 Jobs run.
341 Director connected at: 28-Apr-2003 14:14
342 No jobs running.
343 ====
344 \end{verbatim}
345 \normalsize
346
347 In diesem Beispiel heisst der Client "`rufus-fd"'. Da nur ein Client konfiguriert
348 ist, w\"{a}hlt Bacula ihn automatisch aus und zeigt den Status an. Die Ausgaben
349 ab der Zeile {\bf rufus-sd Version: ...} stammen vom Client, so das Sie sicher
350 sein k\"{o}nnen, dass der Bacula-Client-Dienst auf dieser Maschine korrekt
351 ausgef\"{u}hrt wird.
352
353 Abschlie{\ss}end lassen Sie sich noch den Status des Storage-Dienstes anzeigen.
354 Geben Sie dazu folgendes Kommando ein:
355
356 \footnotesize
357 \begin{verbatim}
358 status storage
359 \end{verbatim}
360 \normalsize
361
362 und Sie sehen: 
363
364 \footnotesize
365 \begin{verbatim}
366 The defined Storage resources are:
367      1: File
368 Item 1 selected automatically.
369 Connecting to Storage daemon File at rufus:8103
370 rufus-sd Version: 1.30 (28 April 2003)
371 Daemon started 28-Apr-2003 14:03, 0 Jobs run.
372 Device /tmp is not open.
373 No jobs running.
374 ====
375 \end{verbatim}
376 \normalsize
377
378 Da es nur einen Storage-Eintrag gibt, wird dieser wieder automatisch von
379 Bacula ausgew\"{a}hlt. Momentan gibt es nur das Storage-Device {\bf /tmp},
380 welches nicht ge\"{o}ffnet ist und es laufen aktuell keine Jobs.
381
382 Jetzt starten Sie den ersten Job:
383
384 \footnotesize
385 \begin{verbatim}
386 run
387 \end{verbatim}
388 \normalsize
389
390 die folgende Meldung erscheint:
391
392 \footnotesize
393 \begin{verbatim}
394 Using default Catalog name=MyCatalog DB=bacula
395 A job name must be specified.
396 The defined Job resources are:
397      1: Client1
398      2: BackupCatalog
399      3: RestoreFiles
400 Select Job resource (1-3):
401 \end{verbatim}
402 \normalsize
403
404 Da es mehr als einen Job-Eintrag in der Director-Dienst-Konfiguration gibt,
405 m\"{u}ssen Sie jetzt den gew\"{u}nschten ausw\"{a}hlen. Geben Sie bitte {\bf 1}
406 ein und Bacula zeigt Ihnen die Job-Details an:
407
408 \footnotesize
409 \begin{verbatim}
410 Run Backup job
411 JobName:  Client1
412 FileSet:  Full Set
413 Level:    Incremental
414 Client:   rufus-fd
415 Storage:  File
416 Pool:     Default
417 When:     2003-04-28 14:18:57
418 OK to run? (yes/mod/no):
419 \end{verbatim}
420 \normalsize
421
422 Bevor Sie fortfahren und den Job starten, sollten Sie sich die Ausgaben genau
423 ansehen und verstehen. Bacula fragt Sie, ob es OK ist den folgenden Job zu starten:
424 Der Name des Jobs ist {\bf Client1}, das FileSet hei{\ss}t {\bf Full Set} und
425 der Job wird mit dem Level {\bf Incremental} auf dem Client {\bf rufus-fd} laufen.
426 Die gesicherten Daten werden in den Pool {\bf Default} auf dem Storage {\bf File}
427 abgelegt und der Job wird sofort gestartet, da unter {\bf When} die aktuelle
428 Uhrzeit angezeigt wird.
429
430 Sie haben nun die Wahl den Job durch Eingabe von {\bf yes} zu starten
431 oder mittels {\bf mod} ein oder mehrere Job-Parameter anzupassen. Wenn Sie
432 {\bf no} eingeben wird der Job nicht gestartet. Geben Sie jetzt {\bf yes} ein,
433 danach sehen Sie sofort wieder die Eingabeaufforderung der Console, den Stern.
434 Nachdem Sie einige Sekunden gewartet haben, geben Sie bitte {\bf messages} ein
435 und Sie erhalten in etwa folgende Ausgabe:
436
437 \footnotesize
438 \begin{verbatim}
439 28-Apr-2003 14:22 rufus-dir: Last FULL backup time not found. Doing
440                   FULL backup.
441 28-Apr-2003 14:22 rufus-dir: Start Backup JobId 1,
442                   Job=Client1.2003-04-28_14.22.33
443 28-Apr-2003 14:22 rufus-sd: Job Client1.2003-04-28_14.22.33 waiting.
444                   Cannot find any appendable volumes.
445 Please use the "label"  command to create a new Volume for:
446     Storage:      FileStorage
447     Media type:   File
448     Pool:         Default
449 \end{verbatim}
450 \normalsize
451
452 Die erste Zeile zeigt Ihnen, dass kein vorheriges Voll-Backup des Clients gefunden
453 wurde, daher wird der Backup-Level des Jobs auf Full, statt Incremental, gesetzt.
454 Die zweite Zeile gibt an, dass der Job mit der Job-ID 1 gestartet wurde und
455 in der dritten Zeile sehen Sie die Meldung "`Cannot find any appendable volumes."'.
456 Das bedeutet, dass Bacula im Pool Default kein passendes Volume f\"{u}r diesen Job
457 gefunden hat. Zus\"{a}tzlich erscheint der Hinweis das Label-Kommando zu benutzen,
458 um ein Volume zu erstellen. Da dieser Schritt noch nicht ausgef\"{u}hrt wurde,
459 ist diese Meldung normal.
460
461 Der Job ist jetzt dadurch blockiert, dass er auf ein passendes Volume wartet.
462 Das k\"{o}nnen Sie \"{u}berpr\"{u}fen, inden Sie das Kommando {\bf status director}
463 ausf\"{u}hren. Damit der Job laufen kann muss zuerst ein Volume erstellt werden.
464 Dazu benutzen Sie das Kommando:
465
466 \footnotesize
467 \begin{verbatim}
468 label
469 \end{verbatim}
470 \normalsize
471
472 worauf Bacula folgendes ausgibt: 
473
474 \footnotesize
475 \begin{verbatim}
476 The defined Storage resources are:
477      1: File
478 Item 1 selected automatically.
479 Enter new Volume name:
480 \end{verbatim}
481 \normalsize
482
483 Sie m\"{u}ssen jetzt einen Namen f\"{u}r das zu erstellende Volume w\"{a}hlen.
484 Volume-Namen sollten mit einem Buchstaben beginnen und d\"{u}rfen Buchstaben,
485 Zahlen sowie den Bindestrich, Unterstrich und den Punkt enthalten.
486 In diesem Beispiel geben Sie bitte den Namen {\bf TestVolume001} ein: 
487
488 \footnotesize
489 \begin{verbatim}
490 Defined Pools:
491      1: Default
492 Item 1 selected automatically.
493 Connecting to Storage daemon File at rufus:8103 ...
494 Sending label command for Volume "TestVolume001" Slot 0 ...
495 3000 OK label. Volume=TestVolume001 Device=/tmp
496 Catalog record for Volume "TestVolume002", Slot 0  successfully created.
497 Requesting mount FileStorage ...
498 3001 OK mount. Device=/tmp
499 \end{verbatim}
500 \normalsize
501
502 Da nur ein Pool existiert, wird das neue Volume diesem automatisch zugeordnet.
503 Im Hintergrund wird der Job jetzt gestartet. Mit den Kommandos {\bf status director}
504 und {\bf status client} k\"{o}nnen Sie den Ablauf verfolgen. Wenn {\bf status director}
505 keine laufenden Jobs mehr auflistet k\"{o}nnen Sie sich mit dem Kommando
506 {\bf messages} die Ausgaben zu dem beendeten Job anzeigen lassen:
507
508 \footnotesize
509 \begin{verbatim}
510 28-Apr-2003 14:30 rufus-sd: Wrote label to prelabeled Volume
511    "TestVolume001" on device /tmp
512 28-Apr-2003 14:30 rufus-dir: Bacula 1.30 (28Apr03): 28-Apr-2003 14:30
513 JobId:                  1
514 Job:                    Client1.2003-04-28_14.22.33
515 FileSet:                Full Set
516 Backup Level:           Full
517 Client:                 rufus-fd
518 Start time:             28-Apr-2003 14:22
519 End time:               28-Apr-2003 14:30
520 Files Written:          1,444
521 Bytes Written:          38,988,877
522 Rate:                   81.2 KB/s
523 Software Compression:   None
524 Volume names(s):        TestVolume001
525 Volume Session Id:      1
526 Volume Session Time:    1051531381
527 Last Volume Bytes:      39,072,359
528 FD termination status:  OK
529 SD termination status:  OK
530 Termination:            Backup OK
531 28-Apr-2003 14:30 rufus-dir: Begin pruning Jobs.
532 28-Apr-2003 14:30 rufus-dir: No Jobs found to prune.
533 28-Apr-2003 14:30 rufus-dir: Begin pruning Files.
534 28-Apr-2003 14:30 rufus-dir: No Files found to prune.
535 28-Apr-2003 14:30 rufus-dir: End auto prune.
536 \end{verbatim}
537 \normalsize
538
539 Hier sehen Sie verschiedene Angaben wie die Laufzeit, Datenrate, verwendete Volumes
540 und unter "`Termination"' das der Backup-Job erfolgreich gelaufen ist.
541 Nach der Eingabe von {\bf autodisplay on} gibt die Console wartende Benachrichtigungen
542 auch ohne Eingabe von {\bf messages} aus.
543
544 Wenn Sie sich den Inhalt des /tmp-Verzeichnisses mit ls -l anzeigen lassen,
545 sehen Sie das, mit dem Label-Kommando erstellte Volume:
546
547 \footnotesize
548 \begin{verbatim}
549 -rw-r-----    1 bacula     bacula     39072153 Apr 28 14:30 TestVolume001
550 \end{verbatim}
551 \normalsize
552
553 In diesem Festplatten-Volume wurden die Daten aus dem eben gelaufenen Job geschrieben.
554 Wenn Sie weitere Jobs starten, werden deren Daten an dieses Volume angeh\"{a}ngt.
555
556 Eventuell fragen Sie sich jetzt, ob Sie jedes Volume das Bacula benutzen soll,
557 auf die oben beschriebene Weise erstellen m\"{u}ssen. Bei Festplatten-Volumes,
558 wie eben benutzt, ist das nicht der Fall. Es ist m\"{o}glich Bacula so zu
559 konfigurieren, dass es automatisch neue Volumes erzeugt (labelt), wenn sie
560 ben\"{o}tigt werden. Bei Tape-Volumes ist das allerdings nicht der Fall,
561 diese m\"{u}ssen einzelnd gelabelt werden, bevor Bacula sie verwenden kann.
562
563 An dieser Stelle k\"{o}nnen Sie das Console-Programm mit {\bf quit} beenden
564 und die Bacula-Dienste mit {\bf ./bacula stop} anhalten. Fall Sie wieder von
565 Vorne anfangen m\"{o}chten, l\"{o}schen Sie das angelegte Volume mit {\bf rm
566 /tmp/TestVolume001} und reinitialisieren Sie Ihre Datenbank mit den Komandos:
567
568 \footnotesize
569 \begin{verbatim}
570 ./drop_bacula_tables
571 ./make_bacula_tables
572 \end{verbatim}
573 \normalsize
574
575 Dadurch werden alle Informationen zu allen gelaufenen Jobs endg\"{u}ltig gel\"{o}scht.
576 Zum Testen ist das duraus hilfreich, sp\"{a}ter in einer produktiven Umgebung werden Sie
577 das wahrscheinlich nicht ausf\"{u}hren wollen.
578
579 Wenn Sie versuchen wollen, die in diesem Beispiel gesicherten Daten wiederherzustellen,
580 lesen Sie bitte den folgenden Abschnitt.
581
582
583 \section{Wiederherstellung Ihrer Daten}
584 \label{restoring}
585 \index[general]{Daten!Wiederherstellung Ihrer }
586 \index[general]{Wiederherstellung Ihrer Daten }
587
588 Wenn Sie die standardm\"{a}{\ss}ige Konfiguration benutzt und wie oben beschrieben,
589 den Bacula-Quelltext gesichert haben, k\"{o}nnen Sie mit der Console diese Daten
590 auf dem folgenden Weg wiederherstellen:
591
592 \footnotesize
593 \begin{verbatim}
594 restore all
595 \end{verbatim}
596 \normalsize
597
598 worauf diese Auswahlliste erscheint:
599
600 \footnotesize
601 \begin{verbatim}
602 First you select one or more JobIds that contain files
603 to be restored. You will be presented several methods
604 of specifying the JobIds. Then you will be allowed to
605 select which files from those JobIds are to be restored.
606
607 To select the JobIds, you have the following choices:
608      1: List last 20 Jobs run
609      2: List Jobs where a given File is saved
610      3: Enter list of comma separated JobIds to select
611      4: Enter SQL list command
612      5: Select the most recent backup for a client
613      6: Select backup for a client before a specified time
614      7: Enter a list of files to restore
615      8: Enter a list of files to restore before a specified time
616      9: Find the JobIds of the most recent backup for a client
617     10: Find the JobIds for a backup for a client before a specified time
618     11: Enter a list of directories to restore for found JobIds
619     12: Cancel
620 Select item:  (1-12): 
621 \end{verbatim}
622 \normalsize
623
624 Wie Sie sehen k\"{o}nnen, haben Sie mehrere Optionen, aber in diesem
625 Beispiel w\"{a}hlen Sie bitte die {\bf 5}. Dadurch wird eine Wiederherstellung
626 des letzten Voll-Backups f\"{u}r einen anzugebenen Client ausgew\"{a}hlt:
627
628 \footnotesize
629 \begin{verbatim}
630 Defined Clients:
631      1: rufus-fd
632 Item 1 selected automatically.
633 The defined FileSet resources are:
634      1: 1  Full Set  2003-04-28 14:22:33
635 Item 1 selected automatically.
636 +-------+-------+----------+---------------------+---------------+
637 | JobId | Level | JobFiles | StartTime           | VolumeName    |
638 +-------+-------+----------+---------------------+---------------+
639 | 1     | F     | 1444     | 2003-04-28 14:22:33 | TestVolume002 |
640 +-------+-------+----------+---------------------+---------------+
641 You have selected the following JobId: 1
642 Building directory tree for JobId 1 ...
643 1 Job inserted into the tree and marked for extraction.
644 The defined Storage resources are:
645      1: File
646 Item 1 selected automatically.
647 You are now entering file selection mode where you add and
648 remove files to be restored. All files are initially added.
649 Enter "done" to leave this mode.
650 cwd is: /
651 $
652 \end{verbatim}
653 \normalsize
654
655 Das es momentan nur einen Client, ein FileSet und ein Storage-Device gibt,
656 w\"{a}hlt Bacula automatisch die entsprechenden Eintr\"{a}ge aus. Zudem wird
657 aus allen Dateien des Jobs ein Verzeichnis-Baum aufgebaut, ein Abbild
658 der gesicherten Verzeichnis- und Datei-Struktur. Sie k\"{o}nnen jetzt
659 die Kommandos {\bf cd} und {\bf ls} oder {\bf dir} benutzen, um das Verzeichnis
660 zu wechseln oder sich den Inhalt auflisten zu lassen. Wenn Sie, zum Beispiel,
661 erst {\bf cd /home/bacula/bacula-2.4.1} wechseln (Ihr Pfad wird anders lauten)
662 und dann {\bf dir} ausf\"{u}hren, erhalten Sie eine Liste aller Dateien und
663 Verzeichnisse im Bacula-Quelltext-Verzeichnis. F\"{u}r weiter Informationen
664 lesen Sie bitte auch das Kapitel "`Wiederherstellung  von Daten"' in diesem
665 Handbuch.
666
667 Um diesen Auswahl-Modus zu beenden, geben Sie 
668
669 \footnotesize
670 \begin{verbatim}
671 done
672 \end{verbatim}
673 \normalsize
674
675 ein.
676 Danach sehen Sie diese Ausgaben:
677
678 \footnotesize
679 \begin{verbatim}
680 Bootstrap records written to
681    /home/bacula/testbin/working/restore.bsr
682 The restore job will require the following Volumes:
683    
684    TestVolume001
685 1444 files selected to restore.
686 Run Restore job
687 JobName:         RestoreFiles
688 Bootstrap:      /home/bacula/testbin/working/restore.bsr
689 Where:          /tmp/bacula-restores
690 Replace:        always
691 FileSet:        Full Set
692 Backup Client:  rufus-fd
693 Restore Client: rufus-fd
694 Storage:        File
695 JobId:          *None*
696 When:           2005-04-28 14:53:54
697 OK to run? (yes/mod/no):
698 \end{verbatim}
699 \normalsize
700
701 Wenn Sie jetzt {\bf yes} eingeben, werden die Datein unterhalb von
702 {\bf /tmp/bacula-restores} wiederhergestellt. Dies ist der Standard f\"{u}r
703 die Wiederherstellung und l\"{a}sst sich \"{u}ber {\bf mod} und {\bf Where}
704 anpassen. Um die Dateien an ihrem originalen Ort widerherzustellen,
705 m\"{u}ssen Sie {\bf Where} entweder leer lassen oder auf {\bf /} setzen.
706 In diesem Beispiel antworten Sie bitte einfach mit {\bf yes} um die
707 Wiederherstellung zu starten. Warten Sie inene kurzen Moment und geben Sie
708 {\bf messages} ein. Wenn der Wiederherstellungs-Job beendet ist, sehen Sie
709 folgende Ausgaben:
710
711 \footnotesize
712 \begin{verbatim}
713 28-Apr-2005 14:56 rufus-dir: Bacula 2.1.8 (08May07): 08-May-2007 14:56:06
714 Build OS:               i686-pc-linux-gnu suse 10.2
715 JobId:                  2
716 Job:                    RestoreFiles.2007-05-08_14.56.06
717 Restore Client:         rufus-fd
718 Start time:             08-May-2007 14:56
719 End time:               08-May-2007 14:56
720 Files Restored:         1,444
721 Bytes Restored:         38,816,381
722 Rate:                   9704.1 KB/s
723 FD Errors:              0
724 FD termination status:  OK
725 SD termination status:  OK
726 Termination:            Restore OK
727 08-May-2007 14:56 rufus-dir: Begin pruning Jobs.
728 08-May-2007 14:56 rufus-dir: No Jobs found to prune.
729 08-May-2007 14:56 rufus-dir: Begin pruning Files.
730 08-May-2007 14:56 rufus-dir: No Files found to prune.
731 08-May-2007 14:56 rufus-dir: End auto prune.
732 \end{verbatim}
733 \normalsize
734
735 Nachdem Sie die Console verlassen haben, k\"{o}nnen Sie sich die
736 wiederhergestellten Dateien untehlab von /tmp/bacula-restores ansehen.
737 Um diese Dateien wieder zu l\"{o}schen, f\"{u}hren Sie :
738
739 \footnotesize
740 \begin{verbatim}
741 rm -rf /tmp/bacula-restore
742 \end{verbatim}
743 \normalsize
744
745 aus.
746
747 \section{Beenden des Console-Programms}
748 \index[general]{Console!Beenden der }
749 \index[general]{Beenden des Console-Programms }
750
751 Die Console wird durch Eingabe von {\bf quit} beendet.
752
753 \section{Hinzuf\"{u}gen eines zweiten Clients}
754 \label{SecondClient}
755 \index[general]{Client!Hinuzf\"{u}gen eines zweiten }
756 \index[general]{Hinzuf\"{u}gen eines zweiten Clients }
757
758 Wenn Sie die oben beschriebenen Beispiele zur Sicherung und Wiederherstellung
759 nachvollziehen konnten, k\"{o}nnen Sie jetzt einen zweiten Client hinzuf\"{u}gen.
760 Daf\"{u}r ben\"{o}tigen Sie einen zweiten Computer den Sie sichern wollen.
761 Auf diesem Client m\"{u}ssen Sie nur den Bacula-Client-Dienst installieren,
762 {\bf bacula-fd} oder auf Windows {\bf bacula-fd.exe}, sowie eine passende
763 Konfigurations-Datei {\bf bacula-fd.conf}. Sie k\"{o}nnen als Vorlage die bereits 
764 bestehende Konfigurations-Datei Ihresersten Clients benutzen. \"{A}ndern Sie einfach
765 nur den Namen des Clients im Abschnitt "`FileDaemon"' der Datei.
766 Ein Beispiel, aus :
767
768 \footnotesize
769 \begin{verbatim}
770 ...
771 #
772 # "Global" File daemon configuration specifications
773 #
774 FileDaemon {                          # this is me
775   Name = rufus-fd
776   FDport = 9102                  # where we listen for the director
777   WorkingDirectory = /home/bacula/working
778   Pid Directory = /var/run
779 }
780 ...
781 \end{verbatim}
782 \normalsize
783
784 wird dabei: 
785
786 \footnotesize
787 \begin{verbatim}
788 ...
789 #
790 # "Global" File daemon configuration specifications
791 #
792 FileDaemon {                          # this is me
793   Name = matou-fd
794   FDport = 9102                  # where we listen for the director
795   WorkingDirectory = /home/bacula/working
796   Pid Directory = /var/run
797 }
798 ...
799 \end{verbatim}
800 \normalsize
801
802 wobei nur der Ausschnitt der Datei dargestellt wird, in dem die \"{A}nderung von
803 {\bf rufus-fd} zu {\bf matou-fd} gemacht wird. Alle anderen Eintr\"{a}ge
804 k\"{o}nnen im Moment so bleiben wie sie sind. Eventuell wollen Sie sp\"{a}ter
805 noch ein anderes Passwort f\"{u}r den zweiten Client verwenden. Die angepasste
806 Konfigurations-datei k\"{o}nnen Sie jetzt auf dem Client als {\bf bacula-fd.conf}
807 speichern. Des weiteren m\"{u}ssen Sie jetzt die Konfiguration des Bacula-Director-Dienstes
808 um die Eintr\"{a}ge f\"{u}r den neuen Client erweitern. Dazu kopieren Sie den
809 Job- und Client-Eintrag des {\bf rufus-fd} in der Director-Dienst-Konfiguration
810 {\bf bacula-dir.conf} und passen die Namen in den Eintr\"{a}gen entsprechend an:
811
812
813 \footnotesize
814 \begin{verbatim}
815 #
816 # Define the main nightly save backup job
817 #   By default, this job will back up to disk in /tmp
818 Job {
819   Name = "Matou"
820   Type = Backup
821   Client = matou-fd
822   FileSet = "Full Set"
823   Schedule = "WeeklyCycle"
824   Storage = File
825   Messages = Standard
826   Pool = Default
827   Write Bootstrap = "/home/bacula/working/matou.bsr"
828 }
829 # Client (File Services) to backup
830 Client {
831   Name = matou-fd
832   Address = matou
833   FDPort = 9102
834   Catalog = MyCatalog
835   Password = "xxxxx"                  # password for
836   File Retention = 30d                # 30 days
837   Job Retention = 180d                # six months
838   AutoPrune = yes                     # Prune expired Jobs/Files
839 }
840 \end{verbatim}
841 \normalsize
842
843 Verwenden Sie bitte vollst\"{a}ndige Hostnamen f\"{u}r den Parameter
844 Address im Client-Eintrag, wenn Sie etwas wie "`localhost"' verwenden,
845 kann es zu Problem bei der Namensaufl\"{o}sung kommen. Teilweise werden
846 diese Parameter vom Director-Dienst zu den Client- oder Storage-Diensten
847 gesendet, wo die Aufl\"{o}sung von "`localhost"' dann etwas anderes
848 bewirkt als gewollt.
849
850 Damit sind alle notwendigen Schritte zur Definition des zweiten Clients
851 abgeschlossen. Die bestehende Konfiguration des Clients {\bf rufus-fd}
852 wurde kopiert und angepasst, so dass die Eintr\"{a}ge jetzt {\bf matou}
853 und {\bf matou-fd} hei{\ss}en. Ebenso wurden die Eintr\"{a}ge in der
854 Director-Dienst-Konfiguration kopiert und angepasst. Ge\"{a}dert haben
855 sich nur der Job-Name, der Client-Name und die Client-Adresse sowie
856 der Name der Bootstrap-Datei. Das bedeutet, dass der Client {\bf matou-fd}
857 zur selben Zeit in den selben Pool gesichert wird, wie der Client
858 {\bf rufus-fd}. Das k\"{o}nnen Sie sp\"{a}ter nat\"{u}rlich noch Ihren
859 Bed\"{u}rfnissen anpassen, aber f\"{u}r dieses Beispiel wollen wir
860 die Konfiguration so einfach wie m\"{o}glich belassen.
861
862 Damit der Director-Dienst die neue Konfiguration einliest, muss er entweder
863 neue gestartet werden, oder Sie rufen in der Console das Kommando {\bf reload} auf.
864 Jetzt ist alles notwendige getan, damit der zweite Client gesichert werden kann.
865
866
867 Die gr\"{o}sten Unterschiede zu einer produktiven Bacula-Installation sind
868 jetzt nur noch, dass alle (beiden) Clients in einen Pool und zur selben Zeit
869 gesichert werden. Aber das k\"{o}nen Sie jederzeit entsprechend umkonfigurieren.
870 Auf alle F\"{a}lle sollte aus Sicherheitsgr\"{u}nden das Passwort des zweiten
871 Clients noch ge\"{a}ndert werden.
872
873 Einige wichtige Tipps die die Namen und Passw\"{o}rter betreffen, sowie
874 ein Diagramm welche Namen und Passw\"{o}rter \"{u}bereinstimmen m\"{u}ssen,
875 finden Sie im Kapitel "`Autorisierungs-Probleme"' im Bacula-Fehlerdiagnose-Handbuch.
876
877 \section{Der erste Tape-Wechsel}
878 \label{FullTape}
879 \index[general]{Tape-Wechsel!der erste }
880 \index[general]{Der erste Tape-Wechsel }
881
882 Wenn die geplanten Backup-Jobs laufen, typischerweise Nachts, wird irgendwann
883 das Tape, beziehungsweise das Festplatten-Volume, vollgeschrieben sein.
884 Bacula kann keine weiteren Daten auf dem Laufwerk schreiben und gibt eine
885 Meldung, \"{a}hnlich der folgenden, aus:
886
887 \footnotesize
888 \begin{verbatim}
889 rufus-sd: block.c:337 === Write error errno=28: ERR=No space left
890           on device
891 \end{verbatim}
892 \normalsize
893
894 Daran k\"{o}nnen Sie erkennen, dass ein Schreibfehler auf dem Ger\"{a}t
895 aufgetreten ist, die Fehlerbeschreibung lautet "`kein freier Platz mehr auf dem Ger\"{a}t.
896 Bacula versucht jetzt im entsprechenden Pool ein Volume zu finden, auf dem das Backup
897 weiterlaufen kann. Im besten Fall sind in dem Pool alte Volumes verf\"{u}gbar,
898 deren Aufbewahrungs-Zeitraum abgelaufen ist. Bacula wird dann das \"{a}lteste Volume
899 automatisch wiederverwenden und \"{u}berschreiben. Weitere Informationen dazu
900 finden Sie im Kapitel \"{u}ber automatisches Volume Recycling im Handbuch "'Bacula
901 Konzepte und \"{U}berblick"`. Falls Ihre Volumes, eventuell durch einen Konfigurations-Fehler,
902 nicht automatisch \"{u}berschrieben werden, finden Sie im selben Kapitel unter "'manuelle
903 Wiederverwendung der Volumes"` Hilfe.
904
905 Wenn Bacula kein Volume im Pool findet auf dem das Backup fortgesetzt werden kann,
906 erhalten Sie folgende Benachrichtigung:
907
908 \footnotesize
909 \begin{verbatim}
910 rufus-sd: Job kernsave.2002-09-19.10:50:48 waiting. Cannot find any
911           appendable volumes.
912 Please use the "label"  command to create a new Volume for:
913     Storage:      SDT-10000
914     Media type:   DDS-4
915     Pool:         Default
916 \end{verbatim}
917 \normalsize
918
919 Solange Sie kein neues Volume erstellen, wiederholt Bacula diese Meldung
920 erst st\"{u}ndlich, dann zwei-st\"{u}ndlich und so weiter, in immer doppelten
921 Zeitabst\"{a}nden. Der maximale Interval betr\"{a}gt dabei 24 Stunden.
922
923 Jetzt stellt sich nat\"{u}rlich die Frage: Was tun?
924
925 Die Antwort ist einfach: Starten Sie das Console-Programm und geben Sie das
926 Laufwerk mit dem {\bf unmount}-Kommando frei. Wenn Sie nur ein einzelnes
927 Laufwerk haben, wird Bacula das automatisch ausw\"{a}hlen, falls Sie mehrere
928 Laufwerke haben, achten Sie darauf, dass Sie das freigegeben welches in der
929 Benachrichtigung erw\"{a}hnt ist. In diesem Beispiel {\bf SDT-10000}.
930
931 Als n\"{a}chtes entfernen Sie das volle Volume aus dem Ger\"{a}t und legen
932 ein Neues ein. Auf einigen \"{a}lteren Laufwerken m\"{u}ssen Sie vorher eine
933 "'EOF"`- (End of File) Markierung schreiben, damit das Band nicht losl\"{a}uft,
934 wenn Bacula versucht das Label zu lesen.
935
936 Anschlie{\ss}end benutzen Sie das {\bf label}-Kommando um das neue Volume zu labeln.
937 Das label-Kommando veranla{\ss}t den Storage-Dienst eine Software-Markierung auf
938 das Volume zu schreiben. Wenn das erfolgreich war, wird das neue Volume dem
939 entsprechendem Pool zugeordnet und das Volume in das Laufwerk geladen. Weiter oben
940 in diesem Kapitel finden Sie weitere Information bez\"{u}glich des label-Kommandos.
941
942 Das Ergebnis ist, dass Bacula den Backup-Job mit dem neuen Volume fortsetzen kann.
943
944 Wenn Sie einen Pool haben dessen Volumes periodisch wiederverwendet werden,
945 kann statt der Meldung "'Cannot find any appendable volumes"` auch die
946 Aufforderung kommen, ein bestimmtes Volume zu mounten. In diesem Fall
947 solten Sie genau dies auch tun. Falls das angefragte Volume, aus welchen
948 Gr\"{u}nden auch immer, nicht mehr zur Verf\"{u}gung steht, k\"{o}nnen Sie
949 auch ein anderes beschreibbares Volume aus dem entsprechenden Pool mounten.
950 Im Console-Programm k\"{o}nnen Sie das Kommando {\bf list volumes} verwenden,
951 um ein passendes Volume zu suchen.
952
953 Falls, trotz korrekt konfigurierter Aufbewahrungszeitr\"{a}ume, f\"{u}r
954 einen Pool kein freies Volume mehr zur Verf\"{u}gung steht, k\"{o}nnen Sie
955 ein Volume auf die folgende Art zur Wiederverwendung freigeben:
956
957 \begin{itemize}
958 \item Benutzen Sie das {\bf list volumes}-Kommando um das \"{a}lteste Volume
959    im Pool zu finden.
960 \item Benutzen Sie das {purge volume}-Kommando um alle mit diesem Volume
961    verkn\"{u}pften Eintr\"{a}ge aus der Katalog-Datenbank zu l\"{o}schen.
962 \item Danach ist der Volume-Status "'recycle"` und das Volume kann
963    wiederverwendet werden 
964    \end{itemize}
965
966 Wenn es notwendig ist, dem Volume ein neues Label zu verpassen,
967 folgen Sie bitte diesen zus\"{a}tzlichen Schritten:
968
969 \begin{itemize}
970 \item verwenden Sie zuerst das {\bf delete volume}-Kommando um das Volume
971    und alle sich darauf beziehenden Eintr\"{a}ge aus der katalog-Datenbank
972    zu l\"{o}schen
973 \item laden Sie das, aus der Datenbank gel\"{o}schte, Volume in das Laufwerk 
974 \item Von der Kommmandozeile aus benutzen Sie folgende Befehle um das
975    bestehende Bacula-Volume-Label zu \"{u}berschreiben:
976    {\bf mt \ -f \ /dev/st0 \ rewind} und  {\bf mt \ -f \ /dev/st0 \ weof},
977    wobei Sie nat\"{u}rlich den korrekten Device-Namen f\"{u}r Ihr System
978    benutzen m\"{u}ssen
979 \item Dann k\"{o}nnen Sie, wie gewohnt, in dem Console-Programm das
980    {\bf label}-Kommando benutzen um das neue Volume-Label zu erstellen.
981 \item Falls das Volume danach nicht automatischin das Laufwerk geladen wird,
982    benutzen Sie daf\"{u}r das {\bf mount}-Kommando.
983    \end{itemize}
984
985 \section{andere n\"{u}tzliche Consolen-Kommandos}
986 \index[general]{Consolen-Kommandos!andere n\"{u}tzliche }
987 \index[general]{andere n\"{u}tzliche Consolen-Kommandos }
988
989 \begin{description}
990
991 \item [status dir]
992    \index[console]{status dir }
993    Gibt den Status des Director-Dienstes, mit allen laufenden und f\"{u}r die
994    n\"{a}chsten 24 Stunden geplanten Jobs, aus.
995 \item [status]
996    \index[console]{status }
997    Gibte eine Liste aller Dienste aus, deren Status abfragbar ist.
998 \item [status jobid=nn]
999    \index[console]{status jobid }
1000    Gibt den Status eines laufenden Jobs mit der entsprechenden Job-ID aus.
1001 \item [list pools]
1002    \index[console]{list pools }
1003    Gibt die Liste aller in der Katalog-Datenbank bekannten Pools aus.
1004 \item [list media]
1005    \index[console]{list media }
1006    Gibt die Liste aller im Katalog definierten Volumes aus.
1007 \item [list jobs]
1008    \index[console]{list jobs }
1009    Gibt die Liste aller gelaufenen Jobs aus.
1010 \item [list jobid=nn]
1011    \index[console]{list jobid }
1012    Zeigt den Katalog-Eintrag der angegebenen Job-ID an.
1013 \item [list jobtotals]
1014    \index[console]{list jobtotals }
1015    Gibt eine Liste mit \"{U}bersichtswerten f\"{u}r alle Jobs aus.
1016 \item [list files jobid=nn]
1017    \index[console]{list files jobid }
1018    Gibt die Liste der gesicherten Dateien und Verzeichnisse f\"{u}r
1019    die angegebene Job-ID aus.
1020 \item [list jobmedia]
1021    \index[console]{list jobmedia }
1022    Zeigt die benutzten Volume-Namen f\"{u}r alle Jobs im Katalog an.
1023 \item [messages]
1024    \index[console]{messages }
1025    Gibt die wartenden Benachrichtigungen in der Console aus.
1026 \item [unmount storage=storage-name]
1027    \index[console]{unmount storage }
1028    Gibt das angegebene Laufwerk, falls es nicht gerade benutzt wird.
1029    Diese Kommando kann benutzt werden um das Laufwerk zu leeren, wenn man ein freies
1030    Ger\"{a}t zum Beispiel zum labeln von neuen Tapes ben\"{o}tigt.
1031 \item [mount storage=storage-name]
1032    \index[sd]{mount storage }
1033    L\"{a}dt ein anzugebenes Volume in das Laufwerk. Dieses Kommando wird ebenfalls
1034    nach einem Bandwechsel ausgef\"{u}hrt, nachdem Bacula die Meldung
1035    "'Please mount Volume xxx"` ausgegeben hat. Das Kommandos signalisiert Bacula
1036    das ein neues Volume im Laufwerk zur Verf\"{u}gung steht.
1037 \item [quit]
1038    \index[sd]{quit }
1039    beendet das Console-Programm 
1040 \end{description}
1041
1042 Die meisten oben genannten Kommandos werden Sie nach weiteren ben\"{o}tigten
1043 Parameter fragen, wenn sie ohne welche aufgerufen werden.
1044
1045 \section{Debug-Ausgaben der Dienste}
1046 \index[general]{Debug-Ausgaben der Dienste }
1047 \index[general]{Ausgaben!Debug- Dienste }
1048
1049 Falls Sie die Debug-Ausgaben der Dienste im laufenden Betrieb sehen wollen,
1050 k\"{o}nnen Sie sie, aus dem Installationsverzeichnnis, wie folgt starten:
1051
1052 \footnotesize
1053 \begin{verbatim}
1054 ./bacula start -d100
1055 \end{verbatim}
1056 \normalsize
1057
1058 Die Ausgaben k\"{o}nnen hilfreich sein, falls die Dienste nicht korrekt starten.
1059 Normalerweise werden diese Ausgaben auf /dev/null umgeleitet, erst bei einem
1060 Debug-Level gr\"{o}{\ss}er als 0 werden sie auf dem Terminal ausgegeben.
1061
1062 Um alle drei Dienste wieder zu stoppen f\"{u}hren Sie :
1063
1064 \footnotesize
1065 \begin{verbatim}
1066 ./bacula stop
1067 \end{verbatim}
1068 \normalsize
1069
1070 aus. Falls einer der Dienste nicht korrekt starten k\"{o}nnte, kann es sein,
1071 dass beim stoppen eine Fehlermeldung bez\"{u}glich nicht gefundener PIDs
1072 auftreten. Das ist aber ziemlich selten.
1073
1074 Um ein Systems komplett sichern zu k\"{o}nnen, muss der Client-Dienst
1075 als Benutzer root laufen damit er die Berechtigung hat auf alle Dateien zuzugreifen.
1076 Die anderen beiden Dienste, Storage- und Director-Dienst, ben\"{o}tigen diese
1077 Berechtigung nicht. Allerdings braucht der Storage-Dienst Lese- und Schreibrechte
1078 auf den Tape-Devices (zum Beispiel /dev/nstx). Auf vielen Systemen ist diser Zugriff
1079 nur dem Benutzer root gestattet, so dass der Storage-Dienst entweder als root laufen muss
1080 oder Sie m\"{u}ssen die Rechte auf den Devices so anpassen, dass auch normale Benutzer
1081 Zugriff haben. Auch die Katalog-Datenbank kann im Falle von MySQL oder PostgreSQL
1082 ohne root-Rechte laufen.
1083
1084 \section{Geduld wenn die Dienste starten oder neue Tapes eingelesen werden}
1085
1086 Wenn Sie die Dienste starten versucht der Storage-Dienst alle definierten
1087 Storage-Ger\"{a}te zu \"{o}ffnen und die enthaltenen Volumes zu pr\"{u}fen.
1088 Bis diese Vorg\"{a}nge abgeschlossen sind, nimmt der Storage-Dienst keine
1089 Verbindungen vom Console-Programm entgegen. Falls ein bereits beschriebenes
1090 Tape im Laufwerk ist, wird dieses zur\"{u}ckgespult, was bei einigen Laufwerken
1091 mehrere Minuten dauern kann. Daher brauchen Sie etwas Geduld wenn Sie nach dem
1092 starten der Dienste den Storage-Dienst kontaktieren wollen. Falls Sie Ihr
1093 Tape-Laufwerk sehen k\"{o}nnen, erkennen Sie an den Lichter wann das Laufwerk
1094 bereit ist.
1095
1096 Die selben Aspekte treffen zu, wenn Sie ein neues unbeschriebens Tape zum Beispiel
1097 in ein HP-DLT-Laufwerk einlegen. Es kann ein bis zwei Minuten dauern bis das Laufwerk
1098 erkennt, dass das Tape komplett leer ist. Wenn Sie schon innerhalb dieser Zeit
1099 versuchen das Volume mit dm {\bf mount}-Kommando einzubinden, kann es sein das es
1100 zu Problemen mit dem SCSI-Treiber kommt. Haben Sie also auch in disem Fall Geduld
1101 und warten Sie ab bis das Laufwerk mit dem Einlesen des Tapes fertig ist,
1102 bevor Sie darauf zugreifen.
1103
1104 \section{Verbindungsprobleme zwischen FD und SD}
1105 \index[general]{Verbindungsproblem zwischen FD und SD}
1106 \index[general]{SD!Verbindungsprobleme zwischen FD und SD}
1107
1108 Wenn Ihre Client-Dienste Problem haben sich mit dem Storage-Dienst zu verbinden
1109 liegt das meistens daran, dass als {\bf Address} des Storage-Dienstes kein
1110 vollst\"{a}ndig qualifizierter Domain-Name angegeben ist. Der Rechner auf dem der
1111 Client-Dienst (nicht der Director-Dienst) l\"{a}uft muss in der Lage sein
1112 diesen Namen in eine IP-Adresse aufzul\"{o}sen. Ein Name der zum Beispiel
1113 auf dem Director-System funktionieren kann, aber garantiert nicht auf dem Client
1114 ist {\bf localhost}. Die Angabe des Names ohne Domain, zum Beispiel {\bf megalon},
1115 kann funktionieren, besser ist es jedoch den Namen mit Domain anzugeben :
1116 {\bf megalon.ihredomain.de}. Probleme mit Windows-Client-Systemen k\"{o}nnen Sie
1117 eventuell auch durch direkte Angabe der IP-Adresse als {\bf Address} umgehen.
1118
1119
1120 Falls die konfigurierte {\bf Address} korrekt ist, aber trotzdem keine Verbindung
1121 zustande kommt, sollten Sie \"{u}berpr\"{u}fen ob andere Programme den vom
1122 Storage-Dienst ben\"{o}tigten Port 9103 benutzen. Die Bacula Port-Nummern sind zwar
1123 alle durch die IANA zugewiesen und kein anderes Progrtamm sollte sie benutzen,
1124 aber einige HP-Drucker benutzen sie zum Beispiel doch. Mittels {\bf netstat -a}
1125 k\"{o}nnen Sie herrausfinden, welches Programm den Port 9103 ge\"{o}ffnet hat.
1126
1127 \section{Kommandozeilen-Optionen der Dienste}
1128 \index[general]{Kommandozeilen-Optionen der Dienste }
1129 \index[general]{Optionen!Kommandozeilen- der Dienste }
1130
1131 Jedem der drei Dienste (Director, File/Client und Storage) k\"{o}nnen beim
1132 Start die folgenden Optionen, die auch beim Console-Programm funktionieren,
1133 \"{u}bergeben werden:
1134
1135 \begin{description}
1136
1137 \item [-c \lt{}Datei\gt{}]
1138    \index[sd]{-c \lt{}Datei\gt{} }
1139    gibt eine Datei an die als Konfigurations-Datei verwendet werden soll.
1140    Standardm\"{a}{\ss}ig es ist der Dienst-Name gefolgt von {\bf .conf},
1141    also {\bf bacula-dir.conf} f\"{u}r den Director-Dienst, sowie
1142    {\bf bacula-sd.conf} und {bacula-fd.conf} f\"{u}r Storage- und Client/File-Dienst.
1143
1144 \item [-d nn]
1145    \index[sd]{-d nn }
1146    Setzt den Debug-Level auf {\bf nn}. Je h\"{o}her der Level desto mehr Debug-
1147    Ausgaben werden erzeugt.
1148
1149 \item [-f]
1150    Starte den Dienst im Vordergrund. Diese Option wird ben\"{o}tigt um die Dienste
1151    unter einem Debugger laufen zu lassen.
1152
1153 \item [-g <Gruppenname>]
1154    Durch Angabe eines Gruppen-Namens können Sie den Dienst
1155    unter einem anderen Gruppen-Konto laufen lassen.
1156
1157 \item [-s]
1158    Betriebssystem-Signale ignorieren. Diese Option wird ben\"{o}tigt um die Dienste
1159    unter einem Debugger laufen zu lassen.
1160
1161 \item [-t]
1162    Liest die Konfigurations-Dateien ein und beendet den Dienst sofort wieder.
1163    Dient dazu die Konfiguration auf Fehler hin zu \"{u}berpr\"{u}fen.
1164
1165 \item [-u <Benutzername>]
1166    Durch Angabe eines Benutzer-Namens können Sie den Dienst
1167    unter einem anderen Benutzer-Konto laufen lassen.
1168
1169 \item [-v]
1170    Gibt genauere Fehler- und Informations-Meldungen aus. Sollte immer angegeben werden.
1171
1172 \item [-?]
1173    Gibt die Version und die Liste der bekannten Optionen aus.
1174    \end{description}
1175
1176 \section{Einen Pool erstellen }
1177 \label{Pool}
1178 \index[general]{Pool!erstellen }
1179 \index[general]{Einen Pool erstellen}
1180
1181 Die Erstellung der Pools erfolgt automatisch aufgrund der Pool-Konfiguration
1182 wenn Bacula startet. Wenn Sie wissen was ein Pool ist, k\"{o}nnen Sie dieses
1183 Kapitel \"{u}berspringen.
1184
1185 Eins der Dinge die Bacula wissen muss wenn ein Backup-Job startet ist,
1186 welches Volume zur Sicherung verwendet werden soll. Anstelle eines einzelnen
1187 Volumes wird in der Konfiguration ein Pool von Volumes angegeben, aus
1188 dem Bacula sich ein beschreibbares Volume f\"{u}r den Job aussucht.
1189 Bacula wird das erste verf\"{u}gbare Volume aus dem Pool w\"{a}hlen das
1190 zu dem, in der Job-Konfiguration angegebenen, Storage-Device passt.
1191 Nachdem das Volume vollgeschrieben wurde, setzt Bacula den Volume-Status
1192 von {\bf Append} auf {\bf Full}, danach wird ein weiteres Volume aus dem Pool
1193 benutzt um den Job fortzusetzen. Wenn kein passendes Volume mehr im Pool
1194 verf\"{u}gbar ist, wird der Director versuchen ein Volume zu finden
1195 dessen Daten bereits abgelaufen sind und das Volume recyclen. Wenn auch
1196 das fehlscl\"{a}gt gibt Bacula eine Meldung aus mit dem Hinweis
1197 ein neues Volume in dem Pool zu erstellen
1198
1199 Bacula beh\"{a}lt st\"{a}ndig die \"{U}bersicht \"{u}ber die Pools,
1200 die Volumes in den Pools und die verschiedenen Eigenschaften der Volumes.
1201
1202 Wenn Bacula startet wird sichergestellt, dass alle Pool-Eintr\"{a}ge
1203 aus der Konfiguration auch in der Katalog-Datenbank vorhanden sind.
1204 Mit dem folgenden Console-Kommando k\"{o}nnen Sie das \"{u}berpr\"{u}fen:
1205
1206 \footnotesize
1207 \begin{verbatim}
1208 list pools
1209 \end{verbatim}
1210 \normalsize
1211
1212 in Abh\"{a}ngigkeit der konfigurierten Pools wird eine Liste wie diese angezeigt:
1213
1214 \footnotesize
1215 \begin{verbatim}
1216 *list pools
1217 Using default Catalog name=MySQL DB=bacula
1218 +--------+---------+---------+---------+----------+-------------+
1219 | PoolId | Name    | NumVols | MaxVols | PoolType | LabelFormat |
1220 +--------+---------+---------+---------+----------+-------------+
1221 | 1      | Default | 3       | 0       | Backup   | *           |
1222 | 2      | File    | 12      | 12      | Backup   | File        |
1223 +--------+---------+---------+---------+----------+-------------+
1224 *
1225 \end{verbatim}
1226 \normalsize
1227
1228 Wenn Sie versuchen einen bereits bestehenden Pool ein zweites Mal zu erstellen,
1229 wird Bacula folgende Meldung ausgeben:
1230
1231 \footnotesize
1232 \begin{verbatim}
1233 Error: Pool Default already exists.
1234 Once created, you may use the {\bf update} command to
1235 modify many of the values in the Pool record.
1236 \end{verbatim}
1237 \normalsize
1238
1239
1240 \section{Labeln der Volumes}
1241 \label{Labeling}
1242 \index[general]{Volumes!Labeln }
1243 \index[general]{Labeln der Volumes }
1244
1245 Bacula ben\"{o}tigt auf jedem Volume ein Software-Label. Dabei gibt es verschiedene
1246 M\"{o}glichkeiten das Label auf ein Volume zu schreiben. Sie k\"{o}nnen die Volumes
1247 zum Beispiel labeln, wenn Bacula Sie mit einer entsprechenden Meldung dazu auffordert.
1248 Mittels des Console-Kommandos {\bf label} erstellen Sie dann ein neues Volume im
1249 entsprechenden Pool. Alternativ k\"{o}nnen Sie auch das Console-Kommando {\bf relabel}
1250 verwenden um ein bereits abgelaufenens Volume, im Status "'purged"`, wiederzuverwenden.
1251
1252 Eine weitere Methode ist es viele Volumes zu labeln und dann nach und nach zu
1253 benutzen, je nachdem wann Bacula ein neues Volume verlangt. Das wird meistens
1254 bei Tape-Volumes gemacht die dann in einem Autochanger verwendet werden k\"{o}nnen.
1255 Lesen Sie dazu auch das Kapitel "'automatisches Volume Wiederverwendung"` in diesem
1256 Handbuch.
1257
1258 \section{Volumes mit dem Console-Programm labeln}
1259 \index[general]{Volumes mit dem Console-Programm labeln }
1260 \index[general]{Labeln!Volumes mit dem Console-Programm }
1261
1262 Zum labeln der Volumes wird normalerweise das Console-Programm verwendet.
1263
1264 \begin{enumerate}
1265 \item ./bconsole
1266 \item label
1267 \end{enumerate}
1268
1269 Falls Bacula eine Meldung ausgibt, dass das Volume nicht gelabelt werden kann
1270 da es bereits ein Label enth\"{a}lt, m\"{u}ssen Sie ein ungelabeltes Volume in
1271 das Laufwerk einlegen.
1272
1273 Danach m\"{u}ssen Sie eins der konfigurierten Storage-Ger\"{a}te ausw\"{a}hlen
1274 in dem das zu labelnde Volume ist, zum Beispiel:
1275
1276 \footnotesize
1277 \begin{verbatim}
1278 The defined Storage resources are:
1279      1: File
1280      2: 8mmDrive
1281      3: DLTDrive
1282      4: SDT-10000
1283 Select Storage resource (1-4):
1284 \end{verbatim}
1285 \normalsize
1286
1287 In dem Ger\"{a}t das Sie jetzt ausw\"{a}hlen sollte ein neues ungelabeltes Volume sein.
1288
1289 Bacula fragt Sie nun nach dem Namen f\"{u}r das Volume:
1290
1291 \footnotesize
1292 \begin{verbatim}
1293 Enter new Volume name:
1294 \end{verbatim}
1295 \normalsize
1296
1297 Falls Bacula diese Meldung ausgibt:
1298
1299 \footnotesize
1300 \begin{verbatim}
1301 Media record for Volume xxxx already exists.
1302 \end{verbatim}
1303 \normalsize
1304
1305 bedeutet es, dass der von Ihnen eingegebene Volume-Name schon in der Katalog-Datenbank
1306 existiert. Sie k\"{o}nnen sich alle definierten Volumes mit dem Kommando {\bf list media}
1307 anzeigen lassen:
1308
1309 \footnotesize
1310 \begin{verbatim}
1311 +---------------+---------+--------+----------------+-----/~/-+------------+-----+
1312 | VolumeName    | MediaTyp| VolStat| VolBytes       | LastWri | VolReten   | Recy|
1313 +---------------+---------+--------+----------------+---------+------------+-----+
1314 | DLTVol0002    | DLT8000 | Purged | 56,128,042,217 | 2001-10 | 31,536,000 |   0 |
1315 | DLT-07Oct2001 | DLT8000 | Full   | 56,172,030,586 | 2001-11 | 31,536,000 |   0 |
1316 | DLT-08Nov2001 | DLT8000 | Full   | 55,691,684,216 | 2001-12 | 31,536,000 |   0 |
1317 | DLT-01Dec2001 | DLT8000 | Full   | 55,162,215,866 | 2001-12 | 31,536,000 |   0 |
1318 | DLT-28Dec2001 | DLT8000 | Full   | 57,888,007,042 | 2002-01 | 31,536,000 |   0 |
1319 | DLT-20Jan2002 | DLT8000 | Full   | 57,003,507,308 | 2002-02 | 31,536,000 |   0 |
1320 | DLT-16Feb2002 | DLT8000 | Full   | 55,772,630,824 | 2002-03 | 31,536,000 |   0 |
1321 | DLT-12Mar2002 | DLT8000 | Full   | 50,666,320,453 | 1970-01 | 31,536,000 |   0 |
1322 | DLT-27Mar2002 | DLT8000 | Full   | 57,592,952,309 | 2002-04 | 31,536,000 |   0 |
1323 | DLT-15Apr2002 | DLT8000 | Full   | 57,190,864,185 | 2002-05 | 31,536,000 |   0 |
1324 | DLT-04May2002 | DLT8000 | Full   | 60,486,677,724 | 2002-05 | 31,536,000 |   0 |
1325 | DLT-26May02   | DLT8000 | Append |  1,336,699,620 | 2002-05 | 31,536,000 |   1 |
1326 +---------------+---------+--------+----------------+-----/~/-+------------+-----+
1327 \end{verbatim}
1328 \normalsize
1329
1330 Wenn Sie dann einen Namen eingegeben haben der noch nicht im Katalog vorhanden ist,
1331 wird Bacula Sie als n\"{a}chstes nach dem Pool fragen in dem das neue Volume
1332 erstellt werden soll. Wenn es nur einen Pool gibt, w\"{a}hlt Bacula diesen
1333 automatisch aus.
1334
1335 Wenn das Volume dann erfolgreich gelabelt wurde, erstellt Bacula eine Katalog-Eintrag
1336 f\"{u}r das neue Volume. Darin wird der Name des Volumes sowie alle seine Parameter
1337 gespeichert. Zeitgleich wird das neue Volume auch f\"{u}r Backup-Jobs verf\"{u}gbar.
1338
1339 Beimlabeln m\"{u}ssen Sie nur sehr wenige Daten eingeben, den Volume-Namen,
1340 den Pool und eventuell den Slot. Der Katalog-Eintrag f\"{u}r ein Volume enth\"{a}lt
1341 aber sehr viel mehr Werte. Die meisten davon werden aus der Pool-Konfiguration gesetzt,
1342 die f\"{u}r alle Volumes des Pools gilt. 
1343
1344 Sie k\"{o}nnen Volumes auch zum Pool hinzuf\"{u}gen ohne sie physikalisch labeln zu
1345 m\"{u}ssen. Dazu kann das Console-Kommando {\bf add} verwendet werden.
1346 Weitere Informationen dar\"{u}ber finden Sie im Kapitel "'Die Bacula Console"`
1347 des "'Bacula Console- und Benutzer-Handbuchs"`.