4 \chapter{Anpassen der Konfigurations-Dateien}
5 \label{ConfigureChapter}
6 \index[general]{Dateien!Anpassen der Konfigurations }
7 \index[general]{Anpassen der Konfigurations-Dateien }
9 Jedes einzelne der Bacula Programme liest beim Starten die angegebene Konfigurations-Datei ein,
10 falls keine angegeben wird benutzt Bacula jeweils die Standard-Konfigurations-Dateien {\bf bacula-dir.conf}, {\bf
11 bacula-fd.conf}, {\bf bacula-sd.conf}, oder {\bf console.conf} f\"{u}r den Director-Dienst, den Client-Dienst,
12 den Storage-Dienst und f\"{u}r das Console-Programm.
14 Jeder Dienst (Director,Client, Storage und Console) hat seine eigene Konfigurations-Datei die eine Reihe von
15 Eintr\"{a}gen enth\"{a}lt. Die Eintr\"{a}ge sind sehr \"{a}hnlich, aber die angegebenen Parameter sind von
16 Dienst zu Dienst unterschiedlich. Zum Beispiel wird in der Director-Dienst-Konfiguration mit dem Eintrag
17 {\bf Director} der Name des Director-Dienstes, eine Reihe globaler Parameter, sowie das Director-Passwort festgelegt.
18 Der {\bf Director}-Eintrag im Client-Dienst gibt an, welcher Director-Dienst diesen Client kontaktieren darf.
20 Bevor Sie Bacula zum ersten mal starten, m\"{u}ssen Sie die Konfigurations-Dateien f\"{u}r jeden Dienst anpassen.
21 Standard-Konfigurations-Dateien werden f\"{u}r jeden Dienst bei der Installation erzeugt, aber m\"{u}ssen Ihrem Computer
22 angepasst werden. Einen \"{U}berblick \"{u}ber die Konfigurations-Eintr\"{a}ge sehen Sie hier:
24 \addcontentsline{lof}{figure}{Bacula Objects}
25 \includegraphics{\idir bacula-objects.eps}
27 (vielen Dank an Aristides Maniatis f\"{u}r diese Graphik)
30 \section{Zeichens\"{a}tze}
31 \index[general]{Zeichens\"{a}tze}
32 Bacula wurde so entwickelt, dass es die meisten Zeichens\"{a}tze der Welt versteht,
33 US ASCII, deutsch, französich, chinesisch, ..... Allerdings tut es dies, indem es
34 alles in UTF-8 umwandelt und Bacula erwartet, dass alle Konfigurationsdateien
35 (auch die auf Win32-Computern) als UTF-8-Format vorliegen. Normalerweise ist UTF-8
36 der Standard-Zeichensatz auf Linux-Computern, aber eventuell nicht auf anderen
37 Unix-Varianten oder auf Windows. Sie sollten also sicherstellen, dass die entsprechenden
38 Umgebungsvariablen richtig gesetzt sind, befor Sie Bacula starten.
40 Damit Bacula auch Konfigurations-Dateien mit fremden Zeichen korrekt lesen kann,
41 muss die Umgebungsvariable {bf LANG} mit {\bf .UTF-8} enden, zum Beispiel {\bf en\_US.UTF-8}.
42 Die Schreibweise kann bei verschiedenen Betriebssystemen variieren und ebenso kann auch die
43 Umgebungsvariable anders hei{\ss}en. Auf neueren Win32-Computern k\"{o}nnen Sie beim speichern
44 der Konfigurations-Dateien z.B. mit dem {\bf notepad} angeben, dass die Datei als UTF-8
45 gespeichert werden soll.
47 Bacula nimmt an, dass alle Dateinamen auf Linux und Unix im UTF-8-Format sind.
48 Bei Windows sind sie Unicode (UTF-16) und werden automatisch in UTF-8 umgewandelt.
50 \section{Konfigurations-Parameter-Format}
51 \index[general]{Konfigurations-Parameter-Format }
52 \index[general]{Format!Konfigurations-Parameter }
54 Auch wenn Sie nicht jedes Detail \"{u}ber alle Paramter wissen m\"{u}ssen,
55 ist ein grundlegendes Wissen des Konfigurations-Parameter-Formats erforderlich.
56 Jeder Konfigurations-Eintrag in einer Ressource (innerhalb der geschweiften Klammern)
57 ist zusammengesetzt aus dem Schl\"{u}sselwort gefolgt von einem Gleichheitszeichen,
58 dem dann ein oder mehrere Werte folgen. Das Schl\"{u}sselwort muss einem der
59 Bacula bekannten Konfigurations-Parameter entsprechen, wobei es gro{\ss}e oder kleine
60 Buchstaben enthalten darf, sowie auch Leerzeichen.
62 Jede Ressource muss einen Paramter {\bf Name} beinhalten und kann zus\"{a}tzlich
63 eine optionale {\bf Description} enthalten. Der Name wird ben\"{o}tigt um die Ressource
64 eindeutig zu bezeichnen. Die Description wird verwendet wenn die Ressource angezeigt wird,
65 um eine leichtere Erkennung zu erm\"{o}glichen.
72 Description = "Bacula Director"
73 WorkingDirectory = "$HOME/bacula/bin/working"
78 Diese Ressource definiert einen Director mit dem Namen "MeinDir" und dem Arbeitsverzeichnis
79 \$HOME/bacula/bin/working. Falls Sie Leerzeichen in einem Parameter verwenden wollen
80 (rechts vom Gleichheitszeichen) m\"{u}ssen Sie den Eintrag in doppelte Anf\"{u}hrungszeichen setzen.
81 Andernfalls sind Anf\"{u}hrungszeichen nicht n\"{o}tig.
84 \subsection{Kommentare}
85 \index[general]{Kommentare}
87 Wenn Bacula die Konfigurations-Dateien liest, werden leere Zeilen und alles hinter einem
88 Rautezeichen (\#) bis zum Zeilenende ignoriert. Ein Semikolon (;) wird als logisches
89 Zeilenende interprtiert und alles hinter dem Semikolon wird als n\"{a}chster
90 Konfigurations-Eintrag betrachtet. Wenn ein Eintrag in einer eigenen Zeile steht,
91 wird kein abschlie{\ss}endes Semikolon ben\"{o}tigt, in den Beispielen in diesem
92 Handbuch werden Sie daher kaum Semikolons finden.
97 \subsection{Gro{\ss}/Kleinschreibung und Leerzeichen}
98 \index[general]{Leerzeichen!Gro{\ss}/Kleinschreibung}
99 \index[general]{Gro{\ss}/Kleinschreibung und Leerzeichen}
101 Gro{\ss}/Kleinschreibung und Leerzeichen werden beim lesen der Schl\"{u}sselw\"{o}rter
102 (dem Teil vor dem Gleichheitszeichen) komplett ignoriert.
104 Das bedeutet, dass die Schl\"{u}sselw\"{o}rter {\bf name}, {\bf Name} und {\bf N a m e}
107 Leerzeichen hinter dem Gleichheitszeichen, vor dem ersten Zeichen des Wertes
108 werden auch ignoriert.
110 Generell werden Leerzeichen innerhalb eines Wertes nicht ignoriert,
111 wenn Leerzeichen im Wert vorhanden sind, muss der Wert in doppelte Anf\"{u}hrungszeichen
112 gesetzt werden. Namen d\"{u}rfen bis zu 127 Zeichen enthalten. Ein Name darf aus allen
113 ASCII-Zeichen bestehen. Innerhalb eine Zeichenkette die in doppelten Anf\"{u}hrungszeichen steht
114 kann man mit dem Backslash (umgekehrter Schr\"{a}gstrich \textbackslash{}) ein Zeichen maskieren,
115 damit es als es selbst dargestellt wird (praktisch um Anf\"{u}hrungszeichen und geschweifte Klammern
118 Bitte beachten Sie, dass Bacula Ressource-Namen, sowie bestimmte andere Namen (z.B. Volume-Namen),
119 nur aus Buchstaben, Zahlen und ein paar Sonderzeichen (Leerzeichen, Unterstrich,..) bestehen d\"{u}rfen.
120 Alle anderen Zeichen sind nicht erlaubt.
123 \subsection{Einbinden anderer Konfigurations-Dateien}
124 \index[general]{Einbinden anderer Konfigurations-Dateien }
125 \index[general]{Dateien!Einbinden anderer Konfigurations }
126 \index[general]{Benutzung von @ zum einbinden anderer Dateien}
127 \index[general]{@{\bf Dateiname}}
129 Falls Sie Ihre Konfiguration auf mehrere kleine Dateien aufteilen m\"{o}chten,
130 k\"{o}nnen Sie das tun, indem Sie andere Konfigurations-Dateien mit @{\bf Dateiname} einbinden.
131 Dabei muss @{\bf Dateiname} den absoluten Pfad und Dateinamen enthalten. Die Angabe @Dateiname
132 darf an jeder Stelle stehen, wo auch eine Konfigurationsangabe stehen kann.
135 \subsection{grundlegende Datentypen}
136 \index[general]{Datentypen!grundlegende }
137 \index[general]{grundlegende Datentypen }
139 Beim einlesen der Konfigurations-Parameter klassifiziert Bacula die Daten
140 gem\"{a}{\ss} den unten aufgelisteten Datentypen. Wenn Sie dass das erstemal lesen,
141 wird es Ihnen eventuell etwas kompliziert vorkommen, aber in Wahrheit ist es ganz einfach und logisch.
147 Ein Schl\"{u}sselwort oder Name besteht aus alphanumerischen Zeichen,
148 einschlie{\ss}lich Bindestrich, Unterstrich und Dollar-Zeichen. Das erste Zeichen eines {\bf Name}
149 muss ein Buchstabe sein. Ein Name hat eine maximale L\"{a}nge von 127 Zeichen. Typischerweise stehen
150 Schl\"{u}sselw\"{o}rter auf der linken Seite des Gleichheitszeichens (d.h. es sind
151 Bacula-Schl\"{u}sselw\"{o}rter z.B. Konfigurations-Eintrag-Namen oder Parameter-Namen).
152 Schl\"{u}sselw\"{o}rter d\"{u}rfen nicht in Anf\"{u}hrungszeichen stehen.
155 \index[fd]{name-string}
156 Ein Name-String ist \"{a}hnlich einem Namen, au{\ss}er das er in Anf\"{u}hrungszeichen stehen darf
157 und daher auch Lerrzeichen beinhalten kann. Ein Name-String darf 127 Zeichen lang sein und steht
158 typischerweise auf der rechten Seite des Gleichheitszeichens (d.h. es sind Werte die zum einem
159 Schl\"{u}sselwort geh\"{o}hren).
163 Ein String ist eine Zeichenkette die, in Anf\"{u}hrungszeichen gestellt, jedes beliebige Zeichen enthalten darf.
164 Ein String hat keine L\"{a}ngenbegrenzung. Strings sind typischerweise Werte die Dateinamen, Verzeichnisnamen oder
165 Betriebssystem-Befehlen entsprechen. Ein Backslash (umgekehrter Schr\"{a}gstrich \textbackslash{}) maskiert das folgende
166 Zeichen als sich selbst, dadurch kann man Anf\"{u}hrungszeichen innerhalb des Strings verwenden, oder auch den Backslash selbst.
169 \index[dir]{directory}
170 A directory is either a quoted or non-quoted string. A directory will be
171 passed to your standard shell for expansion when it is scanned. Thus
172 constructs such as {\bf \$HOME} are interpreted to be their correct values.
175 \index[dir]{password}
176 Ist ein Bacula-Passwort und wird intern als MD5-Hash gespeichert.
180 Eine 32-Bit Ganzzahl, positiv oder negativ.
182 \item [positive integer]
183 \index[dir]{positive integer }
184 Eine positive 32Bit-Ganzzahl.
187 \index[dir]{long integer}
188 Eine 64-Bit Ganzzahl. Typischerweise f\"{u}r Werte wie Bytes die \"{u}ber 4 Millionen
189 betragen k\"{o}nnen und daher 64-Bit erfordern.
192 \index[dir]{yes or no }
193 Entweder ein Ja: {\bf yes} oder ein Nein: {bf no}.
198 Eine Gr\"{o}{\ss}e angegeben in Bytes. Typischerweise eine Flie{\ss}kommazahl in wissenschaftlicher Schreibweise,
199 gefolgt von einem Modifikator. Intern als 64-Bit Ganzzahl gespeichert. Wenn ein Modofikator angegeben wird, muss er
200 direkt und ohne Leerzeichen dem Wert folgen.
201 Die folgenden Modifikatoren sind erlaubt:
211 1,048,576 (Megabytes)
214 1,000,000 (Megabytes)
217 1,073,741,824 (Gigabytes)
220 1,000,000,000 (Gigabytes)
226 Eine Zeit oder ein Zeitraum in Sekunden. Intern als 64-Bit Ganzzahl gespeichert,
227 allerdings in zwei Teilen: ein Nummern-Teil und ein Modifikator-Teil. Die Nummer kann eine
228 Ganz- oder Flie{\ss}kommazahl sein. Wenn sie als Flie{\ss}kommazahl angegeben wird, wird auf
229 den n\"{a}chsten Ganzzahl-Wert gerundet. Der Modifikator ist zwingend erforderlich und mu{\ss} dem Nummern-teil folgen
230 (entweder durch Leerzeichen getrennt oder nicht). Die folgenden Modifikatoren sind erlaubt:
240 Minuten (60 Sekunden)
244 Stunden (3600 Sekunden)
248 Tage (3600*24 Sekunden)
252 Wochen (3600*24*7 Sekunden)
256 Monate (3600*24*30 Sekunden)
259 \index[dir]{quarters }
260 Quartale (3600*24*91 Sekunden)
264 Jahre (3600*24*365 Sekunden)
267 Jede Abk\"{u}rzung dieser Modifikatoren ist erlaubt (d.h. {\bf Sekunden} k\"{o}nnen als
268 {\bf sec} oder {\bf s} angegeben werden). Ein {\bf m} wird als Monat angenommen.
270 Die Angabe einer Zeit kann so viele Modifikatoren und Nummern enthalten, wie gew\"{u}nscht.
275 1 week 2 days 3 hours 10 mins
276 1 month 2 days 30 sec
281 sind g\"{u}ltige Zeitangaben.
286 \section{Ressource Typen}
287 \index[general]{Typen!Ressource }
288 \index[general]{Ressource Typen }
290 Die folgende Tabelle listet alle momentan von Bacula verwendeten Konfigurations-Eintr\"{a}ge auf.
291 Sie zeigt, welche Eintr\"{a}ge bei welchem Dienst vorhanden sein m\"{u}{\ss}en. Die Standard-Konfigurations-Dateien
292 beinhalten bereits mindestens ein Beispiel jedes ben\"{o}tigten Eintrags. Sie brauchen sich also keine Sorgen zu machen,
293 dass Sie diese Eintr\"{a}ge alle von Hand erstellen m\"{u}{\ss}en.
295 \addcontentsline{lot}{table}{Ressource Typen}
296 \begin{longtable}{|l|l|l|l|l|}
298 \multicolumn{1}{|c| }{\bf Ressource } & \multicolumn{1}{c| }{\bf Director } &
299 \multicolumn{1}{c| }{\bf Client } & \multicolumn{1}{c| }{\bf Storage } &
300 \multicolumn{1}{c| }{\bf Console } \\
302 {Autochanger } & {Nein } & {Nein } & {Ja } & {Nein } \\
304 {Catalog } & {Ja } & {Nein } & {Nein } & {Nein } \\
306 {Client } & {Ja } & {Ja } & {Nein } & {Nein } \\
308 {Console } & {Ja } & {Nein } & {Nein } & {Ja } \\
310 {Device } & {Nein } & {Nein } & {Ja } & {Nein } \\
312 {Director } & {Ja } & {Ja } & {Ja } & {Ja } \\
314 {FileSet } & {Ja } & {Nein } & {Nein } & {Nein } \\
316 {Job } & {Ja } & {Nein } & {Nein } & {Nein } \\
318 {JobDefs } & {Ja } & {Nein } & {Nein } & {Nein } \\
320 {Message } & {Ja } & {Ja } & {Ja } & {Nein } \\
322 {Pool } & {Ja } & {Nein } & {Nein } & {Nein } \\
324 {Schedule } & {Ja } & {Nein } & {Nein } & {Nein } \\
326 {Storage } & {Ja } & {Nein } & {Ja } & {Nein }
331 \section{Namen, Passw\"{o}rter und Autorisation}
333 \index[general]{Autorisation!Namen Passw\"{o}rter und }
334 \index[general]{Namen, Passw\"{o}rter und Autorisation }
335 \index[general]{Passw\"{o}rter}
337 Damit ein Dienst mir einem anderen Kontakt aufnehmen darf, muss er sich mit einem Passwort autorisieren.
338 In den meisten F\"{a}llen geh\"{o}hrt ein Passwort zu einem bestimmten Namen, es muss also der Name und das Passwort
339 korrekt sein, um erfolgreich autorisiert zu werden. Passw\"{o}rter sind einfacher und beliebiger Text. Sie werden
340 nicht durch einen speziellen Prozess generiert; benutzen Sie einfach zuf\"{a}lligen Text.
342 Die Standard-Konfigurations-Dateien enthalten automatisch erzeugte Passw\"{o}rter, die eine erfolgreiche Autorisierung
343 aller Dienste untereinander erlauben. Wenn Sie diese Passw\"{o}rter ver\"{a}ndern, m\"{u}{\ss}en Sie das auch auf der
344 entsprechenden Gegenseite tun.
346 Hier ist ein Bild, worauf Sie sehen k\"{o}nnen, welche Namen und Passw\"{o}rter in welchen Dateien und Konfigurations-Eintr\"{a}gen
347 \"{u}bereinstimmen m\"{u}{\ss}en:
349 \includegraphics{\idir Conf-Diagram.eps}
351 Auf der linken Seite sehen Sie die Director-, Storage- und Client-Eintr\"{a}ge mit ihren Namen und Passw\"{o}rtern,
352 dieses steht alles in der Konfiguration des Director-Dienstes in der Datei {\bf bacula-dir.conf}. Auf der rechten Seite
353 sehen Sie die entsprechenden Eintr\"{a}ge in den Konfigurations-Dateien des Storage- und Client-Dienstes (SD und FD).
355 Bitte beachten Sie, dass die Adresse {\bf fw-sd}, die in der Konfiguration des Storage-Dienstes steht, dem Client-Dienst
356 symbolisch \"{u}bergeben wird. Der Client-Dienst muss diesen Namen dann in eine g\"{u}ltigen IP-Adresse aufl\"{o}sen k\"{o}nnen.
357 Aus diesem Grund muss hier etweder eine IP-Adresse oder ein voll qualifizierter Rechnername stehen. Ein Name wie {\bf localhost}
358 ist nicht g\"{u}ltig und wird auf dem Client auf den Namen des localhost des Clients aufge\"{o}st. Das Passwort des Client-Dienstes
359 um sich am Storage-Dienst anzumelden ist tempor\"{a}r und wird dynamisch f\"{u}r jeden einzelnen Job erzeugt. Es steht also in keiner
362 \section{detailierte Information f\"{u}r jeden Dienst}
363 \index[general]{detailierte Information f\"{u}r jeden Dienst }
364 \index[general]{Dienst!detailierte Information f\"{u}r jeden }
366 Die Details f\"{u}r jeden Konfigurations-Eintrag und die darin g\"{u}ltigen Parameter sind in den folgenden Kapiteln beschrieben.
368 Die folgenden Konfigurations-Dateien m\"{u}{\ss}en definiert werden:
372 \ilink{bconsole.conf}{ConsoleConfChapter} -- um die Konfiguration f\"{u}r das Console-Programm zu definieren
373 (die Benutzerschnittstelle zum Director-Dienst). Hier wird angegeben welche Director-Dienste verf\"{u}gbar sind, um mit ihnen zu arbeiten.
375 \ilink{bacula-dir.conf}{DirectorChapter} -- um die Konfiguration des Director-Dienstes zu definieren. In dieser Datei geben Sie alle Storage- und
378 \ilink{bacula-fd.conf}{FiledConfChapter} -- um die Konfiguration des Clients zu definieren. Diese Datei wird auf jedem Backup-Client ben\"{o}tigt.
380 \ilink{bacula-sd.conf}{StoredConfChapter} -- um die Konfiguration des Storage-Dienstes zu definieren. Normalerweise werden Sie einen Storage-Dienst
381 haben, der Ihr Bandlaufwerk steuert. Wenn Sie mehrere Rechner mit angeschlossenen Bandlaufwerken haben, ben\"{o}tigen Sie nat\"{u}rlich einen Storage-Dienst