]> git.sur5r.net Git - bacula/docs/blob - docs/manuals/de/console/bconsole.tex
added latest changes
[bacula/docs] / docs / manuals / de / console / bconsole.tex
1 %%
2 %%
3
4 \chapter{Die Bacula Console}
5 \label{_ConsoleChapter}
6 \index[general]{Console!Bacula}
7 \index[general]{Bacula Console}
8 \index[general]{Console!Bacula}
9 \index[general]{Bacula Console}
10
11 Die {\bf Bacula Console} (manchmal auch die Benutzer-Schnittstelle genannt) 
12 ist ein Programm, dass es dem Anwender oder System Administrator erlaubt,
13 den Bacula-Director-Dienst im laufenden Betrieb zu bedienen.
14
15 Momentan gibt es zwei Versionen des Console-Programms: eine Shell- (TTY)
16 und eine GNOME GUI-Version. Beide erlauben es dem Administrator oder
17 autorisierten Benutzern Bacula zu steuern. Sie k\"{o}nnen sich zum Beispiel
18 den Status eines bestimmten Jobs oder den Inhalt des Katalogs anzeigen lassen,
19 sowie bestimmte Aktionen mit Tapes und Autochangern durchf\"{u}hren.
20
21 Zus\"{a}tzlich gibt es noch die bwx-Console, die auf wxWidgets aufbaut
22 und eine M\"{o}glichkeit bietet, den Wiederherstellungsproze{\ss} graphisch zu steuern.
23 Die bwx-Console befindet sich in einem fr\"{u}hen Entwicklungsstadium und
24 wurde leider seit einiger Zeit nicht weiterentwickelt. (Trotzdem kann sie sehr hilfreich sein.)
25
26 Da sich alle Bacula-Consolen \"{u}ber das Netzwerk mit dem Director-Dienst verbinden,
27 ist es nicht notwendig, dass sie auf dem selben Computer laufen.
28
29 Ein gewisses, minimales Grundwissen \"{u}ber die Console ist schon dann notwendig,
30 wenn Bacula auf mehr als einem Tape schreiben soll. Bacula wird n\"{a}mlich nach einem
31 leeren Band fragen, falls keines mehr verf\"{u}gbar ist, und erst nach dem mounten
32 eines neuen Tapes mittels der Console, wird Bacula weiterarbeiten k\"{o}nnen.
33
34 \section{Console Konfiguration}
35 \index[general]{Console Konfiguration}
36 \index[general]{Konfiguration!Console}
37 \index[general]{Console Konfiguration}
38 \index[general]{Konfiguration!Console}
39
40 Wenn Sie die Bacula-Console starten, liest sie ihre Standard-Konfigurations-Datei
41 namens {\bf bconsole.conf}, bzw. {\bf bgnome-console.conf} f\"{u}r die GNOME-Console, ein.
42 Im einfachsten Fall enth\"{a}llt diese Datei nur den Namen und die Adresse des Director-Dienstes
43 sowie das Passwort, dass f\"{u}r die Verbindung zum Director-Dienst ben\"{o}tigt wird.
44 F\"{u}r weitere Informationen zu dieser Datei, lesen Sie bitte das Kapitel \"{u}ber die \ilink{Console-Konfiguration-Datei}{ConsoleConfChapter} in diesem Handbuch.
45
46 \section{Benutzung des Console-Programms}
47 \index[general]{Benutzung des Console-Programms}
48 \index[general]{Programm!Benutzung des Console-}
49 \index[general]{Benutzung des Console-Programms}
50 \index[general]{Programm!Benutzung des Console-}
51
52 Das Console-Programm kann mit den folgenden Optionen gestartet werden:
53 \footnotesize
54 \begin{verbatim}
55 Usage: bconsole [-s] [-c Konfigurations-Datei] [-d Debug-Level]
56        -c <Datei>  gibt die zu verwendene Konfigurations-Datei an
57        -dnn        setzt den Debug-Level auf nn
58        -n          kein conio
59        -s          keine Signale (*)
60        -t          test - liest die Konfigurations-Datei und beendet sich dann
61        -?          gibt diese Hilfe aus.
62 \end{verbatim}
63 \normalsize
64
65 (*) \elink{Signale}{http://de.wikipedia.org/wiki/Signal\_\%28Computer\%29}
66
67 Nach dem Start des Console-Programms zeigt es durch sein Prompt (*) an,
68 dass es auf Benutzereingaben wartet. (in der GNOME-Console gibt es kein Prompt,
69 geben Sie die Befehle bitte einfach in der Textbox unten im Fenster ein.)
70 Sie k\"{o}nnen in jeder Console einfach nur das Kommando eingeben, wenn weitere Parameter
71 erforderlich sind, wird das Programm Sie danach fragen. Alternativ k\"{o}nnen Sie
72 nat\"{u}rlich auch das komplette Kommando mit allen ben\"{o}tigten Parametern eingeben
73 und ausf\"{u}hren. Das normale Befehlsformat ist dieses:
74
75 \footnotesize
76 \begin{verbatim}
77  <Kommando> <Parameter1>[=<Argument1>] <Parameter2>[=<Argument2>] ...
78 \end{verbatim}
79 \normalsize
80
81 wobei {\bf Kommando} einer der unten aufgef\"{u}hrten Console-Befehle
82 und {\bf Parameter} eines der unten aufgelisteten Schl\"{u}sselw\"{o}rter ist,
83 dem dann meistens ein {\bf Argument} folgt. Alle Befehle k\"{o}nnen in der
84 k\"{u}rzesten eindeutigen Form eingegeben werden. Falls zwei Befehle mit identischen
85 Buchstaben anfangen, wird der ausgef\"{u}hrt, der in der Ausgabe des {\bf help}-Kommandos
86 am weitesten oben steht. Wenn Sie das andere Kommando ausf\"{u}hren m\"{o}chten m\"{u}ssen Sie
87 dementsprechend mehr Buchstaben eingeben, um es eindeutig anzugeben. Keiner der
88 Parameter darf abgek\"{u}rzt werden.
89
90 Ein Beispiel:
91
92 \footnotesize
93 \begin{verbatim}
94 list files jobid=23
95 \end{verbatim}
96 \normalsize
97
98 zeigt alle gesicherten Dateien mit der JobID 23 an.
99
100 \footnotesize
101 \begin{verbatim}
102 show pools
103 \end{verbatim}
104 \normalsize
105
106 zeigt alle Pool-Konfigurations-Eintr\"{a}ge an. 
107
108 Die maximale L\"{a}nge der eingegebenen Befehle, mit Parametern, ist 511 Zeichen.
109 Falls Sie die Console \"{u}ber ein Script ansprechen, denken Sie bitte daran,
110 dass Sie dieses Limit nicht \"{u}berschreiten.
111
112 \section{Beenden des Console-Programms}
113 \index[general]{Programm!Beenden des Console-}
114 \index[general]{Beenden des Console-Programms}
115 \index[general]{Programm!Beenden des Console-}
116 \index[general]{Beenden des Console-Programms}
117
118 Normalerweise beenden Sie das Console-Programm durch die Eingabe von {\bf quit} oder {\bf exit}.
119 Allerdings wartet die Console bis der Director-Dienst das Kommando best\"{a}tigt. Wenn der
120 Director bereits ein l\"{a}nger laufendes Kommando ausf\"{u}hrt, kann es sein, dass das Beenden
121 der Console einen Moment dauert. Falls Sie die Console sofort verlassen wollen, k\"{o}nnen Sie
122 in dem Fall das Kommando {\bf .quit} verwenden.
123
124 Momentan gibt es keinen Weg ein laufendes Kommando nach dem Starten abzubrechen (z.B. mit STRG+C).
125 Allerdings k\"{o}nnen Sie jederzeit, wenn die Console Sie nach einer weiteren Eingabe fragt,
126 das aktuelle Kommando beenden, indem Sie einen Punkt {\bf .} eingeben. Nach der Eingabe des Punktes,
127 werden Sie automatisch zum Hauptprompt oder bei verschachtelten Abfragen zum passenden letzten Prompt
128 zur\"{u}ckgeleitet. Bei einigen Eingaben, wie zum Beispiel der Frage nach einem Volume-Namen, wird
129 der Punkt als Eingabe gewertet und Sie haben beim n\"{a}chsten Prompt die M\"{o}glichkeit,
130 das Kommando abzubrechen.
131
132 \label{keywords}
133 \section{Alphabetische Liste der Console-Schl\"{u}sselw\"{o}rter}
134 \index[general]{Schl\"{u}sselw\"{o}rter!Alphabetische Liste der Console}
135 \index[general]{Alphabetische Liste der Console-Schl\"{u}sselw\"{o}rter}
136 \index[general]{Schl\"{u}sselw\"{o}rter!Alphabetische Liste der Console}
137 \index[general]{Alphabetische Liste der Console-Schl\"{u}sselw\"{o}rter}
138 Wenn es nicht anders angegeben ist, ben\"{o}tigt jedes der folgenden Schl\"{u}sselw\"{o}rter
139 (Parameter der Console-Befehle) ein Argument, welches dem Schl\"{u}sselwort,
140 getrennt durch ein Gleichheitszeichen, folgt.
141 Ein Beispiel:
142 \begin{verbatim}
143 jobid=536
144 \end{verbatim}
145
146 Bitte beachten Sie, dass diese Liste durch die st\"{a}ndig weitergehende
147 Entwicklung eventuell weder komplett, noch in der richtigen alphabetischen
148 Reihenfolge sein kann.
149
150 \begin{description}
151 \item [all]
152   Parameter des status und show-Kommandos,
153   dadurch werden alle Komponenten oder Eintr\"{a}ge ausgew\"{a}hlt
154 \item [allfrompool]
155   Parameter des update-Kommandos,
156   gibt an das alle Volumes des (im Parameter pool angegebenen) Pools
157   aktualisiert werden sollen.
158 \item [allfrompools]
159   Parameter des update-Kommandos,
160   gibt an das alle Volumes aller Pools aktualisiert werden sollen.
161 \item [before]
162   Parameter des restore-Kommandos.
163 \item [bootstrap]
164   Parameter des restore-Kommandos.
165 \item [catalog]
166   im use-Kommando erlaubt,
167   um den zu benutzenden Katalog auszuw\"{a}hlen
168 \item [catalogs]
169   Parameter des show-Kommandos.
170   Ben\"{o}tigt keine Argumente.
171 \item [client | fd]
172 \item [clients]
173   Parameter des show, list und llist-Kommandos,
174   bezeichnet alle Clients. Ben\"{o}tigt keine Argumente.
175 \item [counters]
176   im show-Kommando erlaubt.
177   Ben\"{o}tigt keine Argumente.
178 \item [current]
179   Parameter des restore-Kommandos.
180   Ben\"{o}tigt keine Argumente.
181 \item [days]
182   definiert die Anzahl der Tage, die das "`list nextvol"'-Kommando
183   in Betracht ziehen soll. Der Parameter days kann auch im Kommando
184   "`status director"' verwendet werden, um die geplanten Jobs f\"{u}r die
185   angegebene Anzahl Tage zu zeigen.
186 \item [devices]
187   Parameter des show-Kommandos.
188   Ben\"{o}tigt keine Argumente.
189 \item [director | dir]
190 \item [directors]
191   Parameter des show-Kommandos.
192   Ben\"{o}tigt keine Argumente.
193 \item [directory]
194   Parameter des restore-Kommandos.
195   Das Argument gibt das wiederherzustellende Verzeichnis an.
196 \item [enabled]
197   Dieser Parameter kann bei den Kommandos "`update volumes"' und "`update slots"'
198   verwendet werden. Das Argument kann yes, true, no, false, archived, 0,1 oder 2 sein.
199   0 ist identisch mit no oder false, 1 mit yes oder true und 2 mit archived.
200   Archived Volumes werden weder benutzt noch automatisch aus dem Katalog gel\"{o}scht.
201   Volumes die nicht enabled sind, werden nicht f\"{u}r das Backup oder die Wiederherstellung benutzt.
202 \item [done]
203   wird im restore-Kommando benutzt.
204   Ben\"{o}tigt keine Argumente.
205 \item [file]
206   Parameter des restore-Kommandos.
207 \item [files]
208   Parameter des list und llist-Kommandos.
209   Ben\"{o}tigt keine Argumente.
210 \item [fileset]
211 \item [filesets]
212   Parameter des show-Kommandos.
213   Ben\"{o}tigt keine Argumente.
214 \item [help]
215   Parameter des show-Kommandos.
216   Ben\"{o}tigt keine Argumente.
217 \item [jobs]
218   Parameter des show, list und llist-Kommandos.
219   Ben\"{o}tigt keine Argumente.
220 \item [jobmedia]
221   Parameter des list und llist-Kommandos.
222   Ben\"{o}tigt keine Argumente.
223 \item [jobtotals]
224   Parameter des list und llist-Kommandos.
225   Ben\"{o}tigt keine Argumente.
226 \item [jobid]
227   Parameter des list und llist-Kommandos.
228   Die jobid ist die numerische Jobid, die im Job-Report angezeigt wird.
229   Sie ist der Index f\"{u}r die Datenbankeintr\"{a}ge des entsprechenden Jobs.
230   Da sie f\"{u}r alle in der Datenbank existierenden Jobs einzigartig ist,
231   kann sie erst wiederverwendet werden, wenn der vorherige Job mit dieser Jobid
232   aus der Datenbank gel\"{o}scht wurde.
233 \item [job | jobname]
234   Parameter des list und llist-Kommandos.
235   Der Job oder JobName entspricht dem Namen den Sie im Job-Eintr\"{a}g
236   angegeben haben, somit bezieht er sich auf alle Jobs dieses Namens,
237   die jemals gelaufen sind und deren Eintr\"{a}ge noch im Katalog existieren.
238 \item [level]
239 \item [listing]
240   Parameter des estimate-Kommandos.
241   Ben\"{o}tigt keine Argumente.
242 \item [limit]
243 \item [messages]
244   Parameter des show-Kommandos.
245   Ben\"{o}tigt keine Argumente.
246 \item [media]
247   Parameter des list und llist-Kommandos.
248   Ben\"{o}tigt keine Argumente.
249 \item [nextvol | nextvolume]
250   Parameter des list und llist-Kommandos.
251   Ben\"{o}tigt keine Argumente.
252 \item [on]
253   Ben\"{o}tigt keine Argumente.
254 \item [off]
255   Ben\"{o}tigt keine Argumente.
256 \item [pool]
257 \item [pools]
258   Parameter des show, list und llist-Kommandos.
259   Ben\"{o}tigt keine Argumente.
260 \item [restart]
261   Parameter des python-Kommandos,
262   dadurch wird der python-Interpreter neu gestartet. Ben\"{o}tigt keine Argumente.
263 \item [select]
264   Parameter des restore-Kommandos.
265   Ben\"{o}tigt keine Argumente.
266 \item [storages]
267   Parameter des show-Kommandos.
268   Ben\"{o}tigt keine Argumente.
269 \item [schedules]
270   Parameter des show-Kommandos.
271   Ben\"{o}tigt keine Argumente.
272 \item [sd | store | storage]
273 \item [ujobid]
274   Parameter des list-Kommandos.
275   Die ujobid ist eine M\"{o}glichkeit einen Job eindeutig zu identifizieren.
276   Momentan besteht die ujobid aus dem JobNamen und der Uhrzeit wann der Job gelaufen ist.
277 \item [volume]
278 \item [volumes]
279   Parameter des list und llist-Kommandos.
280   Ben\"{o}tigt keine Argumente.
281 \item [where]
282   Parameter des restore-Kommandos.
283 \item [yes]
284   Parameter des restore-Kommandos.
285   Ben\"{o}tigt keine Argumente.
286 \end{description}
287
288 \label{list}
289 \section{Alphabetische Liste der Console-Kommandos}
290 \index[general]{Kommandos!Alphabetische Liste der Console-}
291 \index[general]{Alphabetische Liste der Console-Kommandos}
292 \index[general]{Kommandos!Alphabetische Liste der Console-}
293 \index[general]{Alphabetische Liste der Console-Kommandos}
294
295 Die folgenden Kommandos sind derzeit verf\"{u}gbar:
296
297 \begin{description}
298 \item [{add [pool=\lt{}pool-name\gt{} storage=\lt{}storage\gt{}
299    jobid=\lt{}JobId\gt{}]} ]
300    \index[general]{add}
301    Das add-Kommando wird benutzt um Volumes zu einem bestehenden Pool
302    hinzuzuf\"{u}gen. Dabei wird der Volume-Eintrag in der Datenbank erzeugt
303    und das Volume dem Pool zugeordnet. Allerdings erfolgt kein physikalischer Zugriff
304    auf das Volume. Nach dem hinzuf\"{u}gen zu einem Pool geht Bacula davon
305    aus, dass das Volume wirklich existiert und auch bereits gelabelt ist.
306    Dieses Kommando wird normalerweise nicht benutzt, da Bacula die Volumes
307    automatisch beim labeln einem Pool hinzuf\"{u}gt. Allerdings ist es hilfreich,
308    falls Sie ein Volume aus dem Katalog gel\"{o}scht haben und es sp\"{a}ter wieder
309    hinzuf\"{u}gen wollen.
310
311    Typischerweise wird das label-Kommando anstelle des add-Kommandos benutzt, da
312    es au{\ss}er dem labeln des physikalischen Volumes, die identischen Schritte
313    wie das add-Kommando ausf\"{u}hrt. Das add-Kommando \"{a}ndert nur die Katalog-Eintr\"{a}ge
314    und nicht die physikalischen Volumes. Die physikalischen Volumes m\"{u}ssen
315    vorhanden und gelabelt sein (normalerweise mit dem label-Kommando). Trotzdem
316    kann das add-Kommando sinnvoll sein, wenn Sie zum Beispiel eine bestimmte Anzahl
317    von Volumes einem Pool hinzuf\"{u}gen wollen, wobei die Volumes erst zu einem
318    sp\"{a}teren Zeitpunkt gelabelt werden. Auch um ein Volume eines anderen Bacula-Systems
319    (bzw. anderen Director-Dienstes) zu importieren, kann das add-Kommando benutzt werden.
320    Die erlaubten Zeichen f\"{u}r einen Volume-Namen finden Sie weiter unten
321    in der Beschreibung des label-Kommandos.
322
323 \item [autodisplay on/off]
324    \index[general]{autodisplay on/off}
325    Das autodisplay-Kommando kennt zwei Parameter: {\bf on} und {\bf off},
326    wodurch die automatische Anzeige von Nachrichten in der Console entsprechend
327    ein- oder ausgeschaltet wird. Der Standardwert ist {\bf off}, was bedeutet, dass
328    Sie \"{u}ber neue Meldungen benachrichtigt werden, sie aber nicht automatisch
329    angezeigt werden. In der GNOME-Console ist das automatische Anzeigen dagegen
330    standardm\"{a}{\ss}ig aktiviert, d.h. neue Meldungen werden automatisch
331    ausgegeben, wenn sie vom Director-Dienst empfangen wurden (typischerweise innerhalb von
332    ca. 5 Sekunden nachdem sie generiert wurden).
333
334    Wenn autodisplay auf off steht, m\"{u}ssen Sie neue Nachrichten mit dem
335    {\bf messages}-Kommando abrufen, um sie sich anzeigen zu lassen.
336    Wenn autodisplay auf on steht, werden die Nachrichten angezeigt, sobald die Console sie
337    empfangen hat.
338
339 \item [automount on/off]
340    \index[general]{automount on/off}
341    Das automount-Kommando kennt zwei Parameter: {\bf on} und {\bf off},
342    die entsprechend das automatische mounten nach dem labeln ({\bf label}-Kommando)
343    an- oder ausschalten. Der Standardwert ist on. Wenn automount ausgeschaltet ist,
344    m\"{u}ssen Sie nach dem labeln eines Volumes dieses explizit mounten ({\bf mount}-Kommando),
345    um es benutzen zu k\"{o}nnen.
346
347 \item [{cancel [jobid=\lt{}number\gt{} job=\lt{}job-name\gt{} ujobid=\lt{}unique-jobid\gt{}]}]
348    \index[general]{cancel jobid}
349    Das cancel-Kommando wird benutzt um einen Job abzubrechen und kennt die
350    Parameter {\bf jobid=nnn} oder {\bf job=xxx}, wobei jobid die numerische JobID ist
351    und job der Job-Name. Wenn Sie weder job noch jobid angeben, listet die Console
352    alle in Frage kommenden Jobs auf und erlaubt Ihnen aus dieser Liste den abzubrechenden
353    Job auszuw\"{a}hlen.
354
355    Wenn ein Job als abzubrechen gekennzeichnet wurde, kann es einige Zeit dauern,
356    bis er tats\"{a}chlich beendet wird (normalerweise innerhalb einer Minute).
357    Diese Zeit ist aber abh\"{a}ngig davon, was der Job gerade tut.
358
359 \item [{create [pool=\lt{}pool-name\gt{}]}]
360    \index[general]{create pool}
361    Das create-Kommando wird normalerweise nicht benutzt, da die Pool-Eintr\"{a}ge
362    im Katalog automatisch angelegt werden, wenn der Director-Dienst startet und
363    er seine Pool-Konfiguration aus den Konfigurations-Dateien einliest. Falls ben\"{o}tigt,
364    kann mit diesem Kommando ein Pool-Eintrag in der Katalog-Datenbank erstellt werden,
365    der auf einem Pool-Konfigurations-Eintrag basiert, der in der Director-Dienst-Konfiguration
366    enthalten ist. Einfach gesagt \"{u}bernimmt dieses Kommando nur den Pool-Eintrag aus der
367    Konfiguration in die Datenbank. Normalerweise wird diese Kommando automatisch ausgef\"{u}hrt,
368    wenn der Pool zum ersten mal in einem Job-Eintrag benutzt wird. Wenn Sie dieses Kommando
369    auf einem bestehenden Pool ausf\"{u}hren, wird der Katalog sofort aktualisiert und enth\"{a}lt
370    dann die identische Pool-Konfiguration, wie die Konfigurations-Dateien. Nach dem Erstellen
371    eines Pool in den Konfigurations-Dateien werden Sie allerdings h\"{o}chstwahrscheinlich
372    das {\bf label}-Kommando benutzen, um ein oder mehrere Volumes dem neuen Pool hinzuzuf\"{u}gen
373    und die entsprechenden Eintr\"{a}ge im Katalog zu erzeugen, anstatt des create-Kommandos.
374
375    Wenn ein Job gestartet wird und Bacula bemerkt,
376    dass kein passender Pool-Eintrag im Katalog vorhanden ist,
377    aber in den Konfigurations-Dateien, dann wird der Pool im Katalog automatisch angelegt.
378    Wenn Sie m\"{o}chten, dass der Pool-Eintrag sofort (ohne das ein Job mit diesem Pool gestartet wurde)
379    im Katalog erscheint, k\"{o}nnen Sie einfach diese Kommando ausf\"{u}hren, um diesen Vorgang
380    zu erzwingen.
381
382 \item [{delete [volume=\lt{}vol-name\gt{} pool=\lt{}pool-name\gt{}  job
383    jobid=\lt{}id\gt{}]}]
384    \index[general]{delete}
385    Das delete-Kommando wird benutzt um ein Volume, einen Pool oder einen Job-Eintrag,
386    sowie jeweils alle dazugeh\"{o}rigen Datenbank-Eintr\"{a}ge, aus dem Katalog zu
387    entfernen. Das Kommando \"{a}ndert nur die Katalog-Datenbank, es hat keine
388    Auswirkungen auf die Konfigurations-Dateien oder die Daten auf den Volumes.
389    Wir empfehlen Ihnen dieses Kommando nur zu benutzen, wenn Sie wirklich wissen was Sie tun.
390
391    Wenn der Parameter {\bf Volume} angegeben wird, wird das entsprechende Volume aus dem Katalog
392    gel\"{o}scht, wenn ein {\bf Pool} angeben wird, der entsprechende Pool und bei Angabe des Parameters
393    {\bf Job} der entsprechende Job, sowie alle zu diesem Job geh\"{o}hrenden JobMedia- und Datei-Eintr\"{a}ge.
394    Das delete-Kommando kann folgenderma{\ss}en aufgerufen werden:
395
396 \begin{verbatim}
397 delete pool=<pool-name>  oder
398 \end{verbatim}
399
400 \begin{verbatim}
401 delete volume=<volume-name> pool=<pool-name>  oder
402 \end{verbatim}
403
404 \begin{verbatim}
405 delete JobId=<job-id> JobId=<job-id2> ...  oder
406 \end{verbatim}
407
408 \begin{verbatim}
409 delete Job JobId=n,m,o-r,t ...
410 \end{verbatim}
411
412    Das erste Beispiel l\"{o}scht einen Pool-Eintrag aus der Katalog-Datenbank.
413    Das zweite l\"{o}scht einen Volume-Eintrag aus dem angegebenen Pool
414    und das dritte Beispiel l\"{o}scht die genannten JobID-Eintr\"{a}ge aus
415    dem Katalog. Es werden die JobIDs n, m, o, p, q, r und t gel\"{o}scht,
416    wobei die JobID's n, m, o ... nat\"{u}rlich Zahlen entsprechen m\"{u}ssen.
417    Wie Sie sehen, kann das delete-Kommando Listen von JobIDs und auch Bereiche
418    (z.B. o-r) verarbeiten.
419
420 \item [disable job\lt{}job-name\gt{}]
421   \index[general]{disable}
422   Das disable-Kommando erlaubt es Ihnen zu verhindern, dass ein Job
423   automatisch durch den Director-Dienst ausgef\"{u}hrt wird. Wenn Sie den Director-Dienst
424   neu starten, wird der Status des Jobs wieder auf den Wert gesetzt, der
425   im Job-Eintrag der Director-Konfiguration eingetragen ist.
426
427 \item [enable job\lt{}job-name\gt{}]
428   \index[general]{enable}
429   Das enable-Kommando erlaubt es Ihnen, einen Job der durch das
430   disable-Kommando aus der automatischen Job-Planung entfernt wurde,
431   wieder zu aktivieren. Wenn Sie den Director-Dienst neu starten,
432   wird der Status des Jobs wieder auf den Wert gesetzt, der im
433   Job-Eintrag der Director-Konfiguration eingetragen ist.
434
435 \label{estimate}
436 \item [estimate]
437    \index[general]{estimate}
438    Mit dem estimate-Kommando k\"{o}nnen Sie sich anzeigen lassen, welche
439    Dateien durch einen bestimmten Job gesichert werden, ohne diesen Job
440    ausf\"{u}hren zu m\"{u}ssen. Standardm\"{a}{\ss}ig wird dabei ein Voll-Backup
441    angenommen. Sie k\"{o}nnen das aber durch den Parameter level entsprechend anpassen,
442    indem Sie zum Beispiel {\bf level=Incremental} oder {\bf level=Differential} an das
443    estimate-Kommando mit \"{u}bergeben. Wenn Sie im Aufruf des Kommandos keinen Job-Name
444    angegeben, wird die Console Ihnen eine Auswahlliste der m\"{o}glichen Jobs anzeigen.
445    Zus\"{a}tzlich k\"{o}nnen Sie noch die Parameter Client und FileSet angeben. Nach dem
446    Starten des Kommandos wird der Director-Dienst den Client kontaktieren, der daraufhin
447    eine Liste der zu sichernden Dateien mit ihrer Gr\"{o}{\ss}e zur\"{u}ckgibt. Bitte beachten
448    Sie, dass das estimate-Kommando nur die Anzahl der von der Datei belegten Bl\"{o}cke zur
449    Bestimmung der Dateigr\"{o}{\ss}e einbezieht, so dass die Datenmenge, die das estimate-Kommando
450    anzeigt, immer etwas gr\"{o}{\ss}er sein wird als das echte Backup.
451
452    Wahlweise k\"{o}nnen Sie noch den Parameter {\bf listing} mit \"{u}bergeben,
453    dann wird eine Liste aller zu sichernden Dateien ausgegeben. Abh\"{a}ngig vom FileSet
454    kann diese Liste sehr lang sein und es daher einige Zeit dauern, alle Dateien anzuzeigen.
455    Das estimate-Kommando kann folgenderma{\ss}en aufgerufen werden:
456
457
458 \begin{verbatim}
459 estimate job=<job-name> listing client=<client-name> 
460        fileset=<fileset-name> level=<level-name>  
461 \end{verbatim}
462
463    die Angabe des Jobs ist ausreichend, aber Sie k\"{o}nnen durch Angabe
464    des Clients, FileSets und/oder des Backup-Levels die entsprechenden Werte \"{u}berschreiben.
465
466 Zum Beispiel k\"{o}nnen Sie folgendes eingeben:
467
468 \footnotesize
469 \begin{verbatim}
470      @output /tmp/listing
471      estimate job=NightlySave listing level=Incremental
472      @output
473 \end{verbatim}
474 \normalsize
475
476    durch das erste Kommando wird die Ausgabe der Console in die Datei
477    {\bf /tmp/listing} umgeleitet. Dann wird durch das estimate-Kommando
478    eine Liste aller Dateien erstellt, die beim n\"{a}chsten inkrementellen
479    Backup des Jobs {\bf NightlySave} gesichert werden. Die Console gibt dabei keine
480    Meldungen aus, da die Ausgabe ja auf die Datei /tmp/listing zeigt. Durch
481    das dritte Kommando @output wird die Umleitung der Ausgabe wieder aufgehoben.
482    Beachten Sie bitte, dass die angezeigten Bytes in der Ausgabe des estimate-Kommandos
483    \"{u}ber die Angabe der Dateigr\"{o}{\ss}e im Verzeichnis-Eintrag bestimmt wird.
484    Das kann zu gro{\ss}en Abweichungen bei der ermittelten Backup-Gr\"{o}{\ss}e f\"{u}hren,
485    falls im FileSet \elink{sparse}{http://de.wikipedia.org/wiki/Sparse-Datei}-Dateien
486    vorhanden sind. sparse-Dateien finden sich oft auf 64-Bit-Maschinen, wo sie f\"{u}r
487    bestimmte Systemdateien benutzt werden. Die angezeigten Bytes sind die Gesammtgr\"{o}{\ss}e
488    der gesicherten Dateien, wenn die FileSet-Option "`sparse"' nicht gesetzt ist.
489    Momentan gibt es keinen Weg, um mit dem estimate-Kommando die echte Backup-Gr\"{o}{\ss}e
490    f\"{u}r ein FileSet anzuzeigen, bei dem die sparse-Option gesetzt ist.
491
492 \item [help]
493    \index[general]{help}
494    Das help-Kommando zeigt alle verf\"{u}gbaren Kommandos mit einer kurzen Beschreibung an.
495
496 \item [label]
497    \index[general]{label}
498    \index[general]{relabel}
499    \index[general]{label}
500    \index[general]{relabel}
501    Das label-Kommando wird benutzt um physikalische Volumes zu labeln.
502    Das label-Kommando kann folgenderma{\ss}en aufgerufen werden:
503
504 \begin{verbatim}
505 label storage=<storage-name> volume=<volume-name> slot=<slot>
506 \end{verbatim}
507
508    Wenn Sie einen der Parameter storage, volume oder slot nicht angeben,
509    werden Sie von der Console danach gefragt. Der Media-Typ wird automatisch
510    anhand des Storage-Eintrags in der Director-Konfiguration gesetzt.
511    Wenn alle ben\"{o}tigten Informationen vorliegen, kontaktiert die
512    Console den angegebenen Storage-Dienst und sendet das label-Kommando.
513    Wenn das labeln erfolgreich war, wird ein entsprechender Volume-Eintrag
514    im passenden Pool erzeugt.
515
516    Im Volume-Name d\"{u}rfen Buchstaben, Zahlen und folgende Sonderzeichen
517    verwendet werden: Binde- ({\bf -}) und Unterstrich ({\bf \_}),
518    Doppelpunkt ({\bf :}) und Punkt ({\bf .}). Alle anderen Zeichen,
519    einschlie{\ss}lich des Leerzeichens, sind nicht erlaubt.
520    Durch diese Einschr\"{a}nkung soll sichergestellt werden, dass
521    die Volume-Namen gut lesbar sind und es nicht zu Benutzerfehlern
522    aufgrund von Sonderzeichen im Namen kommt.
523
524    Bitte beachten Sie, dass Bacula einen Ein-/Ausgabefehler meldet,
525    wenn ein neues bzw. komplett leeres Volume gelabelt wird. Bacula
526    versucht den ersten Block des Volumes zu lesen, um ein eventuell schon
527    vorhandenes label nicht zu \"{u}berschreiben, dieser Versuch erzeugt
528    den oben genannten Fehler. Um diesen Fehler zu vermeiden, k\"{o}nnen Sie
529    mit den folgenden Shell-Kommandos ein EOF am den Anfang des Volumes schreiben:
530
531 \footnotesize
532 \begin{verbatim}
533        mt rewind
534        mt weof
535        
536 \end{verbatim}
537 \normalsize
538
539 Das label-Kommando kann aufgrund verschiedener Gr\"{u}nde fehlschlagen:
540
541 \begin{enumerate}
542 \item Der angegebene Volume-Name existiert schon in der Katalog-Datenbank
543
544 \item Der Storage-Dienst hat schon ein Tape oder anderes Volume in dem
545       ben\"{o}tigten Ger\"{a}t gemountet. In diesem Fall m\"{u}ssen Sie
546       das Ger\"{a}t erst mit dem {\bf unmount}-Kommando freigeben und dann
547       ein leeres Volume zum labeln einlegen.
548
549 \item Das Volume ist bereits gelabelt. Bacula wird niemals ein bestehendes label
550       \"{u}berschreiben, solange das Volume nicht abgelaufen ist und Sie das
551       {\bf relabel}-Kommando verwenden.
552
553 \item Es ist kein Volume im Ger\"{a}t.
554 \end{enumerate}
555
556 Es gibt zwei M\"{o}glichkeiten ein bestehendes Bacula-label zu \"{u}berschreiben.
557 Die brutale Methode ist es, einfach ein EOF an den Anfang des Volumes zu schreiben
558 (dabei wird das bestehende label durch das EOF \"{u}berschrieben).
559 Mit dem Programm {\bf mt} k\"{o}nnen Sie das zum Beispiel so tun:
560
561 \footnotesize
562 \begin{verbatim}
563  [user@host]$  mt -f /dev/st0 rewind
564  [user@host]$  mt -f /dev/st0 weof
565 \end{verbatim}
566 \normalsize
567
568 Ein Festplatten-Volume k\"{o}nnen Sie auch manuell l\"{o}schen.
569
570 Danach benutzten Sie das label-Kommando, um ein neues label zu erzeugen.
571 Allerdings kann diese Vorgehensweise Spuren des alten Volumes in der
572 Katalog-Datenbank hinterlassen.
573
574 Die bevorzugte Methode ein Volume neu zu labeln sollte es sein,
575 zuerst das Volume als bereinigt (purged) zu markieren. Das passiert entweder automatisch,
576 wenn die Aufbewahrungszeit (Volume-Retention) f\"{u}r das Volume abl\"{a}uft,
577 oder kann aber auch mit dem {\bf purge}-Kommando erzwungen werden.
578 Danach k\"{o}nnen Sie das {\bf relabel}-Kommando, wie weiter unten beschrieben, verwenden.
579
580 Falls Ihr Autochanger Barcode-Labels unterst\"{u}tzt, k\"{o}nnen Sie
581 alle Volumes im Autochanger, eins nach dem anderen, mit dem Kommando
582 {\bf label barcodes} labeln. Dabei wird jedes Tape mit Barcode nacheinander
583 im Laufwerk gemountet und mit der auf dem Barcode enthaltenen Zeichenfolge
584 als Namen gelabelt. Ein entsprechender Katalog-Eintrag wird automatisch
585 mit erzeugt. Jedes Volume mit einem Barcode der mit den Zeichen beginnt,
586 die im Pool-Eintrag als CleaningPrefix konfiguriert sind, wird wie ein
587 Reinigungsband behandelt und nicht gelabelt. Allerdings wird dabei auch
588 ein Katalog-Eintrag f\"{u}r das Reinigungsband erstellt.
589
590 Als Beispiel, mit dem Eintrag:
591 \footnotesize
592 \begin{verbatim}
593         Pool {
594           Name ...
595           Cleaning Prefix = "CLN"
596        }
597 \end{verbatim}
598 \normalsize
599
600 wird jedes Tape, dessen Barcode mit CLN beginnt, als Reinigungsband betrachtet
601 und nicht automatisch gemountet.
602 Das label-Kommando kann folgenderma{\ss}en aufgerufen werden:
603
604 \footnotesize
605 \begin{verbatim}
606 label storage=xxx pool=yyy slots=1-5,10 barcodes
607 \end{verbatim}
608 \normalsize
609
610 \item [list]
611    \index[general]{list}
612    Das list-Kommando zeigt den angegebenen Inhalt der Katalog-Datenbank an.
613    Die verschiedenen Felder jedes Eintrags werden in einer Zeile ausgegeben.
614    Die verschiedenen M\"{o}glichkeiten sind:
615 \footnotesize
616 \begin{verbatim}
617    list jobs
618    
619    list jobid=<id>           (zeigt jobid <id> an)
620
621    list ujobid=<unique job name> (zeigt den job mit dem Namen <unique job name> an)
622    
623    list job=<job-name>   (zeigt alle Jobs mit dem Namen <job-name> an)
624
625    list jobname=<job-name>  (identisch mit dem oberen)
626
627                 Im oberen Beispiel kann auch den Parameter limit=nn angegeben
628                 werden, um die Ausgabe des Kommandos auf nn Jobs zu begrenzen
629    
630    list jobmedia
631    
632    list jobmedia jobid=<id>
633    
634    list jobmedia job=<job-name>
635    
636    list files jobid=<id>
637    
638    list files job=<job-name>
639    
640    list pools
641    
642    list clients
643    
644    list jobtotals
645    
646    list volumes
647    
648    list volumes jobid=<id>
649    
650    list volumes pool=<pool-name>
651    
652    list volumes job=<job-name>
653    
654    list volume=<volume-name>  
655
656    list nextvolume job=<job-name>
657    
658    list nextvol job=<job-name>
659
660    list nextvol job=<job-name> days=nnn
661
662 \end{verbatim}
663 \normalsize
664
665    Die meisten der oben genannten Parameter sollten selbsterkl\"{a}rend sein.
666    \"{U}blicherweise werden Sie, falls Sie nicht gen\"{u}gend Parameter angeben,
667    von der Console nach den fehlenden Informationen gefragt.
668
669    Das {\bf list nextvol}-Kommando gibt den Volume-Namen aus, der von dem angegebenen Job
670    beim n\"{a}chsten Backup benutzt werden wird. Allerdings sollten Sie beachten, dass
671    das tats\"{a}chlich benutzte Volume von einer Reihe von Faktoren, wie zum Beispiel
672    von den vorher laufenden Jobs oder der Zeit, wann der Job l\"{a}uft, abh\"{a}ngen kann.
673    Eventuell wird ein Tape schon voll sein, das aber noch freien Platz hatte, als Sie
674    das Kommando ausf\"{u}hrten. Dieses Kommando gibt Ihnen also nur einen Hinweis darauf,
675    welches Tape benutzt werden k\"{o}nnte, aber es kann keine definitive Aussage dar\"{u}ber treffen.
676    Zus\"{a}tzlich kann dieses Kommando mehrere Seiteneffekte haben, da es den selben
677    Algorithmus durchl\"{a}uft, wie ein echter Backup-Job. Das bedeutet, dass es dazu f\"{u}hren kann,
678    dass aufgrund dieses Kommandos Volumes automatisch recycled oder gel\"{o}scht (purged) werden.
679    Standardm\"{a}{\ss}ig muss der angegebene Job innerhalb der n\"{a}chsten zwei Tage laufen,
680    ansonsten wird kein Volume f\"{u}r den Job gefunden. Allerdings k\"{o}nnen Sie durch Angabe des Parameters
681    {\bf days=nnn} bis zu 50 Tage in die Zukunft angeben, die das Kommando in die Berechnung
682    mit einbeziehen soll. Falls Sie, zum Beispiel, Freitags sehen wollen, welches Volume am Montag
683    voraussichtlich benutzt wird, k\"{o}nnen Sie folgendes Kommando benutzen:
684    {\bf list nextvol job=MyJob days=3}.
685
686    Wenn Sie bestimmte, von Ihnen \"{o}fter ben\"{o}tigte, eigene Kommandos anlegen wollen
687    um sich bestimmte Inhalte der Katalog-Datenbank anzeigen zu lassen,
688    k\"{o}nnen Sie diese der Datei {\bf query.sql} hinzu\"{u}gen. Allerdings
689    erfordert das einiges an Wissen \"{u}ber SQL-Kommandos. Lesen Sie dazu bitte
690    den Abschnitt \"{u}ber das {\bf query}-Kommando in diesem Kapitel.
691
692    Weiter unten finden Sie auch eine Beispiel-Ausgabe des {\bf llist}-Kommandos,
693    das Ihnen den kompletten Inhalt des Katalogs zu einem bestimmten Konfigurations-Eintrag
694    anzeigt.
695
696    Als ein Beispiel, kann Ihnen der Aufruf des Kommandos {\bf list pools} die folgenden
697    Ausgaben anzeigen:
698
699 \footnotesize
700 \begin{verbatim}
701 +------+---------+---------+---------+----------+-------------+
702 | PoId | Name    | NumVols | MaxVols | PoolType | LabelFormat |
703 +------+---------+---------+---------+----------+-------------+
704 |    1 | Default |       0 |       0 | Backup   | *           |
705 |    2 | Recycle |       0 |       8 | Backup   | File        |
706 +------+---------+---------+---------+----------+-------------+
707 \end{verbatim}
708 \normalsize
709
710    Wie oben schon angedeutet, zeigt das {\bf list}-Kommando den Inhalt
711    der Katalog-Datenbank an. Einige Konfigurations-Eintr\"{a}ge, bzw.
712    \"{A}nderungen an den Konfigurations-Eintr\"{a}gen, werden beim 
713    Start des Director-Dienstes in die Datenbank geschrieben.
714    Die meisten Einstellungen und \"{A}nderungen werden hingegen
715    erst im Katalog aktualisiert, wenn sie zum ersten Mal
716    benutzt werden, so zum Beispiel die Client- und Job-Eintr\"{a}ge.
717
718    Bacula erzeugt den Client-Eintrag also dann, wenn zum ersten Mal
719    ein Job f\"{u}r diesen Client startet. Durch das {\bf status}-Kommando
720    wird die Katalog-Datenbank nicht aktualisiert, auch wenn Sie dort
721    eventuell schon einen Eintrag f\"{u}r den neuen Client in der Liste der
722    geplanten Jobs sehen. Der Client-Eintrag wird auf alle F\"{a}lle
723    beim starten des ersten Jobs des Clients erzeugt, egal ob der Job
724    erfolgreich lief oder nicht. Zus\"{a}tzlich schreibt der Director-Dienst
725    noch eine weitere Client-Information in die Katalog-Datenbank (die Ausgabe
726    von "`uname -a"').
727
728    Wenn Sie alle verf\"{u}gbaren Client-Eintr\"{a}ge der Datenbank (auch aus mehreren
729    Katalog-Datenbanken, falls konfiguriert) sehen wollen,
730    k\"{o}nnen Sie auch das {\bf show clients}-Kommando verwenden, das zudem
731    noch Informationen \"{u}ber die Adresse, den Port und den Katalog-Namen des Clients
732    (sowie einige andere) ausgibt.
733
734 \item [llist]
735    \index[general]{llist}
736    Das llist-Kommando ("`langes list"') benutzt dieselben Parameter wie das oben
737    beschriebene list-Kommando. Der Unterschied ist, dass das llist-Kommando
738    den kompletten Inhalt der Katalog-Datenbank, zu der als Parameter angegebenen
739    Konfiguration, anzeigt. Dabei werden die einzelnen Felder der Datenbank-Eintr\"{a}ge
740    untereinander, mit einem Feld pro Zeile, ausgegeben. Diese Kommando kann eine
741    sehr lange Liste an Ausgaben produzieren.
742
743    Wenn Sie anstelle des {\bf list pools}, wie im oberen Beispiel, das
744    Kommando {\bf llist pools} verwenden, erhalten Sie diese Ausgabe:
745
746 \footnotesize
747 \begin{verbatim}
748           PoolId: 1
749             Name: Default
750          NumVols: 0
751          MaxVols: 0
752          UseOnce: 0
753       UseCatalog: 1
754  AcceptAnyVolume: 1
755     VolRetention: 1,296,000
756   VolUseDuration: 86,400
757       MaxVolJobs: 0
758      MaxVolBytes: 0
759        AutoPrune: 0
760          Recycle: 1
761         PoolType: Backup
762      LabelFormat: *
763
764           PoolId: 2
765             Name: Recycle
766          NumVols: 0
767          MaxVols: 8
768          UseOnce: 0
769       UseCatalog: 1
770  AcceptAnyVolume: 1
771     VolRetention: 3,600
772   VolUseDuration: 3,600
773       MaxVolJobs: 1
774      MaxVolBytes: 0
775        AutoPrune: 0
776          Recycle: 1
777         PoolType: Backup
778      LabelFormat: File
779       
780 \end{verbatim}
781 \normalsize
782
783 \item [messages]
784    \index[general]{messages}
785    Durch ausf\"{u}hren des messages-Kommandos werden wartende Console-Meldungen
786    sofort angezeigt.
787
788 \item [mount]
789    \index[general]{mount}
790    Das mount-Kommando veranlasst Bacula dazu, ein Volume in einem physikalischen
791    Laufwerk zu lesen. Es ist damit m\"{o}glich Bacula mitzuteilen, dass ein neues
792    Tape im Laufwerk ist und Bacula wird daraufhin versuchen das Label einlesen,
793    um das Volume richtig zuordnen zu k\"{o}nnen. Normalerweise wird dieses Kommando
794    nur ausgef\"{u}hrt, wenn kein Volume im Laufwerk war und Bacula Sie auffordert
795    ein neues einzulegen, oder wenn Sie das Laufwerk vorher mit dem {\bf unmount}-Kommando
796    freigegeben haben. Falls Sie einen Autochanger benutzen, wird das mount-Kommando
797    Sie nach dem Slot des Tapes und dem Laufwerk fragen, in welchem das Tape gemountet werden soll.
798
799    Das mount-Kommando kann folgenderma{\ss}en aufgerufen werden
800
801 \footnotesize
802 \begin{verbatim}
803 mount  storage=<storage-name> [ slot=<num> ] [
804        drive=<num> ]
805
806 mount [ jobid=<id> |  job=<job-name> ]
807 \end{verbatim}
808 \normalsize
809
810    Wenn Sie in der Ger\"{a}te-Konfiguration des Storage-Dienstes {\bf Automatic  Mount = yes}
811    angegeben haben, wird Bacula automatisch auf das Ger\"{a}t zugreifen, solange Sie es
812    nicht explizit mit dem {\bf unmount}-Kommando freigegeben haben.
813
814 \item[python]
815    \index[general]{python}
816    Das python-Kommando kennt nur den Parameter {\bf restart}:
817
818 \footnotesize
819 \begin{verbatim}
820    python restart
821 \end{verbatim}
822 \normalsize
823
824    dadurch wird der python-Interpreter des Director-Dienstes neu geladen.
825    Das kann beim Testen hilfreich sein, da es der einzige Weg ist, den python-Interpreter
826    nach dem Start des Director-Dienstes dazu zu veranlassen, seine Konfiguration
827    in der Datei {\bf DirStartUp.py} neu einzulesen. F\"{u}r weiterf\"{u}hrende Informationen
828    zum Thema python-Scripting lesen Sie bitte das Kapitel \ilink{PythonScripting}{PythonChapter}.
829
830 \label{ManualPruning}
831 \item [prune]
832    \index[general]{prune}
833    Das prune-Kommando erlaubt es Ihnen, abgelaufenen Job- oder Volume-Eintr\"{a}ge
834    aus der Katalog-Datenbank zu entfernen. Dieses Kommando arbeitet nur auf der
835    Katalog-Datenbank und l\"{o}scht keine Dateien von den Volumes. Auf jeden Fall
836    wird ein Aufbewahrungszeitraum (RetentionPeriod) auf die angegebenen Eintr\"{a}ge angewendet,
837    wenn Sie dieses Kommando ausf\"{u}hren. Falls die Katalog-Eintr\"{a}ge also noch nicht
838    abgelaufen sind, hat das prune-Kommando auch keine Auswirkungen. Sie k\"{o}nnen
839    mit diesem Kommando abgelaufene Dateien aus den Job-Eintr\"{a}gen
840    l\"{o}schen, abgelaufene Jobs oder Statistiken aus dem Katalog entfernen
841    und Sie k\"{o}nnen veraltete Job- und Datei-Eintr\"{a}ge eines bestimmten
842    Volumes aus dem Katalog entfernen.
843
844 \footnotesize
845 \begin{verbatim}
846 prune files|jobs|volume|stats client=<client-name>
847 volume=<volume-name>
848 \end{verbatim}
849 \normalsize
850
851    Um die Katalog-Eintr\"{a}ge eines Volumes zu l\"{o}schen, muss der
852    {\bf VolStatus} entweder Full, Used oder Append sein, ansonsten werden
853    keine Eintr\"{a}ge entfernt.
854
855 \item [purge]
856    \index[general]{purge}
857    Das purge-Kommando entfernt die angegebenen Katalog-Eintr\"{a}ge
858    ohne den Aufbewahrungszeitraum zu beachten. Dieses Kommando arbeitet nur
859    auf der Katalog-Datenbank und l\"{o}scht keine Dateien von den Volumes.
860    Mit diesem Kommando k\"{o}nnen auch versehentlich aktuelle Eintr\"{a}ge,
861    die eventuell dringend ben\"{o}tigt werden, aus der Katalog-Datenbank
862    gel\"{o}scht werden. Wir empfehlen Ihnen daher, dieses Kommando nur zu benutzen,
863    wenn Sie wirklich wissen was Sie tun.
864    Das purge-Kommando kann folgenderma{\ss}en aufgerufen werden:
865
866 \footnotesize
867 \begin{verbatim}
868 purge files jobid=<jobid>|job=<job-name>|client=<client-name>
869
870 purge jobs client=<client-name> (of all jobs)
871
872 purge volume|volume=<vol-name> (of all jobs)
873 \end{verbatim}
874 \normalsize
875
876    Damit das purge-Kommando Volume-Eintr\"{a}ge aus der Katalog-Datenbank
877    entfernen kann, muss der {\bf VolStatus} entweder Full, Error, Used oder
878    Append sein.
879
880    Die Daten auf den Volumes werden durch dieses Kommando nicht ver\"{a}ndert.
881
882 \item [relabel]
883    \index[general]{relabel}
884    \index[general]{relabel}
885    Das relabel-Kommando wird benutzt um ein neues label auf ein bereits
886    gelabeltes physikalisches Volume zu schreiben. Das Kommando wird wie folgt
887    aufgerufen:
888
889 \footnotesize
890 \begin{verbatim}
891 relabel storage=<storage-name> oldvolume=<old-volume-name>
892     volume=<newvolume-name>
893 \end{verbatim}
894 \normalsize
895
896    Wenn Sie einen Parameter nicht angeben, wird die Console Sie danach fragen.
897    Damit der alte Volume-Name (das label) \"{u}berschrieben werden kann,
898    muss der {\bf VolStatus} entweder Purged oder Recycle sein, was automatisch
899    passiert, wenn die entsprechenden Aufbewahrungszeitr\"{a}ume abgelaufen sind
900    (oder alle Datei- und Job-Eintr\"{a}ge dieses Volumes mit dem purge-Kommando
901    aus der Katalog-Datenbank entfernt wurden).
902
903    Wenn das Volume erfolgreich relabelt wurde, sind alle Daten auf dem Volume verloren
904    und k\"{o}nnen nicht wiederhergestellt werden.
905
906 \item [release]
907    \index[general]{release}
908    Das release-Kommando veranla{\ss}t den Storage-Dienst, dass im angegebenen Ger\"{a}t
909    befindliche Tape zur\"{u}ckzuspulen und das label beim n\"{a}chsten Zugriff neu einzulesen.
910
911 \footnotesize
912 \begin{verbatim}
913 release storage=<storage-name>
914 \end{verbatim}
915 \normalsize
916
917    Nach dem release-Kommando ist das Ger\"{a}t weiterhin von Bacula ge\"{o}ffnet
918    (au{\ss}er Sie haben "`Always Open"' in der Storage-Dienst-Konfiguration auf "`No"' gesetzt),
919    andere Proze{\ss}e/Programme k\"{o}nnen also nicht auf das Ger\"{a}t zugreifen.
920    Allerdings k\"{o}nnen Sie bei einigen Laufwerken, nach dem release-Kommando,
921    das Tape gegen ein anderes austauschen, da Bacula weiss, dass es das label
922    neu einlesen muss. Falls Sie mit anderen Programmen auf das Ger\"{a}t zugreifen wollen,
923    m\"{u}ssen Sie das unmount-Kommando verwenden, nur dann gibt Bacula das Ger\"{a}t komplett frei.
924
925 \item [reload]
926   \index[general]{reload}
927    Das reload-Kommando veranla{\ss}t den Director-Dienst seine Konfigurations-Dateien
928    neu einzulesen und mit der aktuellen Konfiguration weiterzuarbeiten. Die neue
929    Konfiguration wird dabei sofort f\"{u}r alle neuen Jobs g\"{u}ltig.
930    Wenn Sie die Zeitpl\"{a}ne (Schedules) \"{a}ndern, bedenken Sie bitte, dass Bacula
931    die geplanten Jobs bis zu zwei Stunden im vorraus berechnet und es dadurch zu einer
932    Verz\"{o}gerung kommen kann, bis die neue Konfiguration g\"{u}ltig wird. Jobs die bereits
933    in der Warteschlange sind (deren eigentliche Startzeit also schon vorbei ist), werden
934    mit den alten Konfigurations-Werten abgearbeitet. Neue Jobs werden die neue Konfiguration
935    benutzen. Wenn Sie das reload-Kommando ausf\"{u}hren w\"{a}hrend Jobs laufen,
936    wird die neue Konfiguration solange zur\"{u}ckgehalten, bis alle Jobs beendet sind
937    und erst dann wirksam. Sie k\"{o}nnen bis zu zehn Konfigurations\"{a}nderungen
938    durchf\"{u}hren w\"{a}hrend Jobs laufen, erst danach wird der Director-Dienst
939    eine Meldung ausgeben, dass er nicht mehr unterschiedliche Konfigurationen
940    im Speicher vorhalten kann.
941
942    Auch wenn es m\"{o}glich ist, die Director-Konfiguration zur Laufzeit neu zu laden,
943    und auch dann wenn Jobs laufen, sollten Sie bei der n\"{a}chsten Gelegenheit
944    den Director-Dienst neu starten um Seiteneffekte auszuschlie{\ss}en. Das neue Einlesen
945    der Konfiguration ist ein sehr komplexer Vorgang und nur nach dem Neustart
946    k\"{o}nnen Sie sicher sein, dass nur noch mit der neuen Konfiguration gearbeitet wird.
947
948 \label{restore_command}
949 \item [restore]
950    \index[general]{restore}
951    Das restore-Kommando erlaubt es Ihnen auf verschiedenen Wegen, einen oder mehrere Jobs (JobIDs)
952    zur Wiederherstellung auszuw\"{a}hlen. Nachdem die JobIDs ausgew\"{a}hlt wurden,
953    erstellt der Director-Dienst aus den dazugeh\"{o}hrigen Datei-Eintr\"{a}gen
954    einen internen Verzeichnis-Baum in dem Sie dann die Dateien und Verzeichnisse
955    zur Wiederherstellung markieren k\"{o}nnen. Dieser restore-Modus der Console
956    verh\"{a}hlt sich \"{a}hnlich dem Unix-Standard-Kommando {\bf restore}.
957
958 \footnotesize
959 \begin{verbatim}
960 restore storage=<storage-name> client=<backup-client-name>
961   where=<path> pool=<pool-name> fileset=<fileset-name>
962   restoreclient=<restore-client-name>
963   select current all done  
964 \end{verbatim}
965 \normalsize
966
967    Wobei {\bf current}, falls angegeben, das restore-Kommando dazu veranla{\ss}t,
968    automatisch das aktuellste Backup zur Wiederherstellung auszuw\"{a}hlen.
969    Das Schl\"{u}sselwort {\bf all} w\"{a}hlt automatisch alle Dateien aus.
970    Falls Sie einen ben\"{o}tigten Parameter nicht angeben, wird das restore-Kommando
971    Sie danach fragen. F\"{u}r weitere Informationen zum {\bf restore}-Kommando
972    lesen Sie bitte das \ilink{Restore Kapitel}{RestoreChapter} dieses Handbuchs.
973
974    Das Schl\"{u}sselwort {\bf client} gibt sowohl den Client an, auf dem das Backup
975    gemacht wurde, als auch den Client auf dem das Backup widerhergestellt werden soll.
976    Durch Angabe des {\bf restoreclient} k\"{o}nnen Sie allerdings auch einen anderen Client
977    w\"{a}hlen, auf dem das Backup statt dessen wiederhergestellt werden soll.
978
979 \item [run]
980    \index[general]{run}
981    Das run-Kommando erlaubt es Ihnen, Jobs in den Zeitplan des Director-Dienstes einzuf\"{u}gen,
982    die sofort gestartet werden sollen. Das run-Kommando kann wie folgend aufgerufen werden:
983
984 \footnotesize
985 \begin{verbatim}
986 run job=<job-name> client=<client-name>
987   fileset=<FileSet-name>  level=<level-keyword>
988   storage=<storage-name>  where=<directory-prefix>
989   when=<universal-time-specification>  yes  
990 \end{verbatim}
991 \normalsize
992
993    Jede ben\"{o}tigte Information, die nicht angegeben wurde, wird zur Auswahl aufgelistet.
994    Bevor der Job in den Zeitplan des Directors eingef\"{u}gt wird, werden Sie
995    aufgefordert die Parameter zu best\"{a}tigen, zu \"{a}ndern oder den Job abzubrechen.
996    Falls Sie das Schl\"{u}sselwort {\bf yes} angegeben haben, wird der Job ohne Nachfrage
997    in den Zeitplan aufgenommen.
998
999    Ein Beispiel:
1000
1001 \footnotesize
1002 \begin{verbatim}
1003 A job name must be specified.
1004 The defined Job resources are:
1005      1: Matou
1006      2: Polymatou
1007      3: Rufus
1008      4: Minimatou
1009      5: Minou
1010      6: PmatouVerify
1011      7: MatouVerify
1012      8: RufusVerify
1013      9: Watchdog
1014 Select Job resource (1-9):
1015
1016 \end{verbatim}
1017 \normalsize
1018
1019 Nach der Auswahl der Nummer 5 erscheint:
1020
1021 \footnotesize
1022 \begin{verbatim}
1023 Run Backup job
1024 JobName:  Minou
1025 FileSet:  Minou Full Set
1026 Level:    Incremental
1027 Client:   Minou
1028 Storage:  DLTDrive
1029 Pool:     Default
1030 When:     2003-04-23 17:08:18
1031 OK to run? (yes/mod/no):
1032
1033 \end{verbatim}
1034 \normalsize
1035
1036 Wenn Sie jetzt {\bf yes} eingeben, wird der Job gestartet,
1037 falls Sie {\bf mod} ausw\"{a}hlen,
1038 erscheint diese Liste der ver\"{a}nderbaren Parameter:
1039
1040 \footnotesize
1041 \begin{verbatim}
1042 Parameters to modify:
1043      1: Level
1044      2: Storage
1045      3: Job
1046      4: FileSet
1047      5: Client
1048      6: When
1049      7: Pool
1050 Select parameter to modify (1-7):
1051
1052 \end{verbatim}
1053 \normalsize
1054
1055 Wenn Sie den Job zum Beispiel erst zu einem sp\"{a}teren Zeitpunkt starten wollen,
1056 k\"{o}nnen Sie \"{u}ber die Auswahl Nr. 6 "`When"', die Startzeit anpassen.
1057 Die Zeit muss im Format YYYY-MM-DD HH:MM:SS angegeben werden.
1058
1059 \item [setdebug]
1060    \index[general]{setdebug}
1061    \index[general]{setdebug}
1062    \index[general]{debugging}
1063    \index[general]{debugging Win32}
1064    \index[general]{Windows!debugging}
1065    Das setdebug-Kommando wird benutzt um den Debug-Level f\"{u}r die verschiedenen
1066    Dienste zu setzen (der Debug-Level bestimmt die Menge der ausgegebenen Programm-Informationen,
1067    die z.B. zur Fehlersuche verwendet werden k\"{o}nnen).
1068    Es wird wie folgt aufgerufen:
1069
1070 \footnotesize
1071 \begin{verbatim}
1072 setdebug level=nn [trace=0/1 client=<client-name> | dir | director |
1073   storage=<storage-name> | all]  
1074 \end{verbatim}
1075 \normalsize
1076
1077    Wenn trace=1 gesetzt wird, schreibt der gew\"{a}hlte Dienst alle Ausgaben
1078    in eine Datei ("`Dienst-Name"'.trace) in seinem konfigurierten Arbeitsverzeichnis.
1079    Das ist vor allem bei Windows-Systemen n\"{u}tzlich, da sich dort die Programm-Ausgaben
1080    nicht \"{u}ber die Kommandozeile in Dateien umlenken lassen, bzw. keine Ausgaben
1081    im Terminal dargetestellt werden. Im Trace-Modus wird jede Programm-Ausgabe der Trace-Datei
1082    angeh\"{a}ngt. Diese Datei muss von Hand durch den Benutzer gel\"{o}scht werden.
1083
1084 \item [show]
1085    \index[general]{show}
1086    \index[general]{show}
1087    Das show-Kommando zeigt die Konfiguration des Director-Dienstes an.
1088    Diese Kommando wird haupts\"{a}chlich zur Fehlersuche durch die Entwickler
1089    benutzt. Die folgenden Schl\"{u}sselw\"{o}rter k\"{o}nnen angegeben werden:
1090    catalogs, clients, counters, devices, directors,filesets, jobs, messages,
1091    pools, schedules, storages, all, help. Bitte beachten Sie den Unterschied zum
1092    list-Kommando, welches den Inhalt der Katalog-Datenbank anzeigt.
1093
1094 \item [sqlquery]
1095    \index[general]{sqlquery}
1096    Das sqlquery-Kommando versetzt die Console in den SQL-Abfrage-Modus.
1097    Nach diesem Kommando k\"{o}nnen Sie, auch \"{u}ber mehrere Zeilen, eine
1098    SQL-Anweisung eingeben. Nachdem die Anweisung mit einem Semikolon (;) abgeschlossen
1099    ist, wird sie direkt an die Datenbank \"{u}bergeben. Nach der Ausgabe des Ergebnisses
1100    wird wieder eine neue SQL-Anweisung erwartet. Den SQL-Abfrage-Modus k\"{o}nnen Sie
1101    durch die Eingabe eines Punktes (.), als erstes Zeichen in der Eingabezeile, beenden.
1102
1103    Mittels dieses Kommandos k\"{o}nnen Sie direkt die Katalog-Datenbank abfragen.
1104    Seihen Sie bitte vorsichtig, damit Sie nicht aus Versehen Datenbank-Eintr\"{a}ge
1105    \"{a}ndern oder l\"{o}schen. Lesen Sie bitte auch die Beschreibung des query-Kommandos
1106    weiter unten, mit dem Sie einfacher und sicherer Datenbank-Abfragen durchf\"{u}hren k\"{o}nnen.
1107
1108    Abh\"{a}ngig von dem von Ihnen verwendeten Datenbank-Systems (MySQL, PostgreSQL
1109    oder SQLite) haben Sie mehr oder weniger M\"{o}glichkeiten direkte
1110    Datenbank-Abfragen durchzuf\"{u}hren.
1111    Mehr Informationen finden Sie in der Beschreibung Ihrer Datenbank.
1112
1113 \item [status]
1114    \index[general]{status}
1115    Das status-Kommando zeigt den momentanen Status des gew\"{a}hlten Dienstes an
1116    (Director, Storage oder eines Clients). Beim Storage-Dienst k\"{o}nnen Sie
1117    sich den Laufwerks-Status oder den Inhalt des Autochangers anzeigen lassen.
1118    Der Client zeigt Informationen \"{u}ber aktuell laufende Jobs und deren
1119    Geschwindigkeit an. Es kann wie folgt aufgerufen werden:
1120
1121 \footnotesize
1122 \begin{verbatim}
1123 status [all | dir=<dir-name> | director |
1124   client=<client-name> | [slots] storage=<storage-name> |
1125   days=nnn]
1126 \end{verbatim}
1127 \normalsize
1128
1129    Wenn Sie das Kommando {\bf status dir} ausf\"{u}hren, listet die Console
1130    die momentan laufenden Jobs, alle f\"{u}r die n\"{a}chsten 24 Stunden
1131    geplanten Jobs und die letzten 10 beendeten Jobs, sowie deren Status auf.
1132    Die Liste der geplanten Jobs enth\"{a}lt auch den Namen des Volumes,
1133    das voraussichtlich benutzt wird. Beachten Sie dabei bitte diese beiden Punkte:
1134    1. um das Volume zu ermitteln wird dieselbe Funktion benutzt wie in dem Moment
1135    wo der Backup-Job startet, allerdings werden die Ablaufzeitr\"{a}ume der Volumes
1136    nicht in Betracht gezogen; 2. das angezeigte Volume ist die nur bestm\"{o}gliche
1137    Sch\"{a}tzung, da das Volume eventuell in der zwischenzeit andersweitig benutzt
1138    oder auch durch vorher laufende Jobs vollgeschrieben werden k\"{o}nnte.
1139
1140    In der Liste der laufenden Jobs finden Sie diese Informationen:
1141
1142 \footnotesize
1143 \begin{verbatim}
1144 2507 Catalog MatouVerify.2004-03-13_05.05.02 is waiting execution
1145 5349 Full    CatalogBackup.2004-03-13_01.10.00 is waiting for higher
1146              priority jobs to finish
1147 5348 Differe Minou.2004-03-13_01.05.09 is waiting on max Storage jobs
1148 5343 Full    Rufus.2004-03-13_01.05.04 is running
1149 \end{verbatim}
1150 \normalsize
1151
1152    Wenn Sie sich diese Ausgabe von unten nach oben anschauen, sehen Sie,
1153    dass JobId 5343 (Rufus) gerade l\"{a}uft. JobId 5348 (Minou) wartet darauf,
1154    dass der Job 5343 beendet wird, da dieser momentan die Storage-Resource verwendet,
1155    daher die Meldung: "`waiting on max Storage jobs"'. JobId 5349 (CatalogBackup)
1156    hat eine geringere Priorit\"{a}t und wartet daher auf die Beendigung der
1157    Jobs mit h\"{o}heren Priorit\"{a}ten. Zuoberst steht die JobId 2507 (MatouVerify),
1158    die als letzte dieser JobIds geplant wurde, da schon andere wartende und
1159    laufende JobIds vorhanden sind, hat sie nur den Status "`waiting execution"'.
1160
1161    Das Kommando {\bf status dir} zeigt standardm\"{a}{\ss}ig nur die f\"{u}r
1162    heute und morgen geplanten Jobs an. Falls Sie die geplanten Jobs der n\"{a}chsten
1163    drei Tage sehen m\"{o}chten um, zum Beispiel am Freitag zu kontrollieren,
1164    welche Volumes am Freitag, am Wochenende und am Montag benutzt werden,
1165    k\"{o}nnen Sie die Option {\bf days=3} verwenden. {\bf days=0} zeigt nur die
1166    f\"{u}r heute geplanten Jobs an.
1167
1168    Falls Ihre Jobs also nicht wie gew\"{u}nscht starten, k\"{o}nnen
1169    Sie sich mit dem Kommando {\bf status dir} einen \"{U}berblick \"{u}ber
1170    die momentan laufenden und wartenden Jobs, sowie den Grund des wartens,
1171    verschaffen. Genauere Informationen bekommen Sie meistens, wenn Sie
1172    das Kommando {\bf status storage=xxx} verwenden. Als Beispiel sind hier die
1173    Ausgaben die dieses Kommando auf einem Storage im Leerlauf anzeigt:
1174
1175 \footnotesize
1176 \begin{verbatim}
1177 status storage=File
1178 Connecting to Storage daemon File at 192.168.68.112:8103
1179
1180 rufus-sd Version: 1.39.6 (24 March 2006) i686-pc-linux-gnu redhat (Stentz)
1181 Daemon started 26-Mar-06 11:06, 0 Jobs run since started.
1182
1183 Running Jobs:
1184 No Jobs running.
1185 ====
1186
1187 Jobs waiting to reserve a drive:
1188 ====
1189
1190 Terminated Jobs:
1191  JobId  Level   Files          Bytes Status   Finished        Name 
1192 ======================================================================
1193     59  Full        234      4,417,599 OK       15-Jan-06 11:54 kernsave
1194 ====
1195
1196 Device status:
1197 Autochanger "DDS-4-changer" with devices:
1198    "DDS-4" (/dev/nst0)
1199 Device "DDS-4" (/dev/nst0) is mounted with Volume="TestVolume002"
1200 Pool="*unknown*"
1201     Slot 2 is loaded in drive 0.
1202     Total Bytes Read=0 Blocks Read=0 Bytes/block=0
1203     Positioned at File=0 Block=0
1204 Device "Dummy" is not open or does not exist.
1205 No DEVICE structure.
1206
1207 Device "DVD-Writer" (/dev/hdc) is not open.
1208 Device "File" (/tmp) is not open.
1209 ====
1210
1211 In Use Volume status:
1212 ====
1213 \end{verbatim}
1214 \normalsize
1215
1216 Ganz oben sind unter "`Running Jobs"' und "`Jobs waiting .."' keine Eintr\"{a}ge,
1217 was bedeutet, dass momentan kein Job l\"{a}uft und damit auch keine Ger\"{a}te
1218 benutzt werden. Jetzt wird der Autochanger mit dem {\bf unmount}-Kommando
1219 freigegeben und ein Job gestartet der das Ger\"{a}t vom Typ "`File (/tmp)"'
1220 benutzen soll. Daraufhin gibt das Kommando {\bf status storage=xxx} diese
1221 Meldungen aus:
1222
1223 \footnotesize
1224 \begin{verbatim}
1225 status storage=File
1226 ...
1227 Device status:
1228 Autochanger "DDS-4-changer" with devices:
1229    "DDS-4" (/dev/nst0)
1230 Device "DDS-4" (/dev/nst0) is not open.
1231     Device is BLOCKED. User unmounted.
1232     Drive 0 is not loaded.
1233 Device "Dummy" is not open or does not exist.
1234 No DEVICE structure.
1235
1236 Device "DVD-Writer" (/dev/hdc) is not open.
1237 Device "File" (/tmp) is not open.
1238     Device is BLOCKED waiting for media.
1239 ====
1240 ...
1241 \end{verbatim}
1242 \normalsize
1243
1244 Der Autochanger ist, durch das {\bf unmount}-Kommando, im Status "`BLOCKED. User unmounted"'.
1245 Das Device File, mit dem der Job gestartet wurde, ist im Status "`BLOCKED waiting for media"',
1246 Bacula wartet jetzt darauf, dass Sie ein Volume labeln und mounten.
1247
1248 \item [unmount]
1249    \index[general]{unmount}
1250    Das unmount-Kommando veranlasst den Storage-Dienst dazu, dass angegebene Ger\"{a}t
1251    freizugeben. Der Aufruf dieses Kommandos ist identisch mit dem mount-Kommando:
1252 \footnotesize
1253 \begin{verbatim}
1254 unmount storage=<storage-name> [ drive=<num> ]
1255
1256 unmount [ jobid=<id> | job=<job-name> ]
1257 \end{verbatim}
1258 \normalsize
1259
1260    Nachdem ein Ger\"{a}t mit dem unmount-Kommando freigegeben wurde, kann
1261    Bacula es so lange nicht verwenden, bis es wieder mit dem mount-Kommando
1262    ge\"{o}ffnet wird. Falls Bacula das Ger\"{a}t zwischenzeitlich f\"{u}r einen
1263    Job ben\"{o}tigt, wird Bacula in regelm\"{a}{\ss}igen Abst\"{a}nden den Benutzer
1264    informieren, dass Ger\"{a}t zu mounten.
1265
1266    Wenn das Ger\"{a}t ein Autochanger ist, wird das angebene Laufwerk
1267    zudem entladen. Wenn keine Laufwerk angegeben ist, wird Laufwerk 1 verwendet.
1268
1269 \label{UpdateCommand}
1270 \item [update]
1271    \index[general]{update}
1272    Das update-Kommando aktualisiert die Katalog-Datenbank entsprechend der angegebenen
1273    Option. M\"{o}glich sind Pool- oder Volume-Eintr\"{a}ge oder auch die Volumes
1274    in den Slots eines Autochangers mit Barcode-Unterst\"{u}tzung. Im Falle der Pool-Eintr\"{a}ge
1275    werden die aktuellen Information aus den Konfigurations-Dateien des Director-Dienstes gelesen.
1276    Die folgenden Schl\"{u}sselw\"{o}rter k\"{o}nnen angegeben werden: 
1277 \footnotesize
1278 \begin{verbatim}
1279    media, volume, pool, slots, stats
1280 \end{verbatim}
1281 \normalsize
1282
1283 Falls Sie Volumes aktualisieren, werden Sie nach den zu \"{a}ndernden Parametern gefragt.
1284 Folgende Volume-Parameter k\"{o}nnen angepasst werden:
1285 \footnotesize
1286 \begin{verbatim}
1287  
1288    Volume Status
1289    Volume Retention Period
1290    Volume Use Duration
1291    Maximum Volume Jobs
1292    Maximum Volume Files
1293    Maximum Volume Bytes
1294    Recycle Flag
1295    Recycle Pool
1296    Slot
1297    InChanger Flag
1298    Pool
1299    Volume Files
1300    Volume from Pool
1301    All Volumes from Pool
1302    All Volumes from all Pools
1303    
1304 \end{verbatim}
1305 \normalsize
1306
1307    Bei Auswahl von {\bf Pool} wird Bacula das gew\"{a}hlte Volume in den angegebenen
1308    Pool verschieben.
1309
1310    Bei Auswahl von {\bf Volume from Pool}, {\bf All Volumes from Pool} und {\bf All Volumes
1311    from all Pools} werden alle Volumes im entsprechenden Pool so angepasst, wie es aktuell
1312    in der Konfiguration des Director-Dienstes steht. Das betrifft folgende Eintr\"{a}ge:
1313    Recycle, RecyclePool, VolRetention, VolUseDuration, MaxVolJobs, MaxVolFiles,
1314    und MaxVolBytes. (RecyclePool ist erst ab Version \gt 2.1.4 verf\"{u}gbar.)
1315
1316    Durch das Kommando {\bf update slots} holt sich Bacula eine aktuelle Liste der
1317    Volume-Barcodes in den Slots des Autochangers. F\"{u}r jeden gefundenen Barcode
1318    wird automatisch der Slot des Volumes in der Katalog-Datenbank angepasst.
1319    Das ist n\"{u}tzlich, falls Sie Volumes in den Magazinen verschoben oder gewechselt haben.
1320    Beim aktualisieren der Slots wird auch das InChanger-Flag der Volumes im Katalog angepasst,
1321    dadurch weiss Bacula welche Volumes im Autochanger verf\"{u}gbar sind.
1322
1323    Falls Ihr Autochanger keine Barcodes unterst\"{u}tzt, k\"{o}nnen Sie die
1324    Volumes im Autochanger mit dem Kommando {\bf update slots scan} aktualisieren.
1325    Das Schl\"{u}sselwort {\bf scan} teilt Bacula (nur Version \gt 1.33) mit,
1326    dass es alle Volumes nacheinandern mounten soll, um das Tape-Label einzulesen.
1327
1328    Das update-Kommando kann wie folgt aufgerufen werden:
1329
1330 \footnotesize
1331 \begin{verbatim}
1332        update volume=xxx pool=yyy slots volstatus=xxx VolRetention=ddd
1333          VolUse=ddd MaxVolJobs=nnn MaxVolBytes=nnn Recycle=yes|no
1334          slot=nnn enabled=n recyclepool=zzz
1335
1336 \end{verbatim}
1337 \normalsize
1338
1339 \item [use]
1340    \index[general]{use}
1341    Das use-Kommando wird verwendet um dem Director-Dienst mitzuteilen, welche Katalog-
1342    Datenbank verwendet werden soll. Da es normalerweise nur eine Datenbank gibt,
1343    wird diese immer automatisch ausgew\"{a}hlt. Fall Sie jedoch mehrere Katalog-Eintr\"{a}ge
1344    in der Konfiguration des Director-Dienstes angegeben haben, k\"{o}nnen Sie mittels
1345    des use-Kommandos von einem Katalog zum anderen wechseln.
1346
1347 \footnotesize
1348 \begin{verbatim}
1349 use <database-name>
1350 \end{verbatim}
1351 \normalsize
1352
1353 \item [var]
1354    \label{var}
1355    \index[general]{var name}
1356    Das var-Kommando akzeptiert eine Zeichenkette (auch in Anf\"{u}hrungstrichen)
1357    und f\"{u}hrt Variablen-Ersetzungen durch, wie sie auch mit der {\bf LabelFormat}
1358    Zeichenkette geschehen. Der einzige Unterschied ist, dass beim Ausf\"{u}hren des
1359    var-Kommandos kein Job l\"{a}uft und daher andere Werte verwendet werden anstelle von
1360    den Job-spezifischen. Allerdings werden Sie trotzdem einen Eindruck davon erhalten, was
1361    f\"{u}r eine Ausgabe zu erwarten ist.
1362
1363 \item [version]
1364    \index[general]{version}
1365    Das version-Kommando gibt die Version des Director-Dienstes aus.
1366
1367 \item [quit]
1368    \index[general]{quit}
1369    Das quit-Kommando beendet das Consolen-Programm. Die Console sendet das quit-
1370    Kommando an den Director-Dienst und wartet auf seine Best\"{a}tigung. Falls der
1371    Director mit der Aus\"{u}hrung von anderen Kommandos besch\"{a}ftigt ist,
1372    kann es einen Moment dauern, bis das quit ausgef\"{u}hrt werden kann. In dem
1373    Fall k\"{o}nnen Sie durch Eingabe von {\bf .quit} die Console sofort beenden.
1374
1375 \item [query]
1376    \index[general]{query}
1377    Das query-Kommando liest die vordefinierten SQL-Komandos aus der Datei,
1378    die unter QueryFile in der Konfiguration des Director-Dienstes angegeben ist, ein.
1379    Danach k\"{o}nnen Sie aus der Liste der verf\"{u}gbaren SQL-Anweisungen eine
1380    zur Ausf\"{u}hrung ausw\"{a}hlen.
1381
1382 Die folgenden Anweisungen sind momentan vordefiniert (Version 2.2.7):
1383
1384 \footnotesize
1385 \begin{verbatim}
1386 Available queries:
1387 1: List up to 20 places where a File is saved regardless of the directory
1388 2: List where the most recent copies of a file are saved
1389 3: List last 20 Full Backups for a Client
1390 4: List all backups for a Client after a specified time
1391 5: List all backups for a Client
1392 6: List Volume Attributes for a selected Volume
1393 7: List Volumes used by selected JobId
1394 8: List Volumes to Restore All Files
1395 9: List Pool Attributes for a selected Pool
1396 10: List total files/bytes by Job
1397 11: List total files/bytes by Volume
1398 12: List Files for a selected JobId
1399 13: List Jobs stored on a selected MediaId
1400 14: List Jobs stored for a given Volume name
1401 15: List Volumes Bacula thinks are in changer
1402 16: List Volumes likely to need replacement from age or errors
1403 Choose a query (1-16):
1404       
1405 \end{verbatim}
1406 \normalsize
1407
1408 \item [exit]
1409    \index[general]{exit}
1410    Das exit-Kommando beendet die Console.
1411
1412 \item [wait]
1413    \index[general]{wait}
1414    Das wait-Kommando wartet solange bis keine Jobs mehr laufen. Es kann
1415    in Batch-Programmen verwendet werden, die z.B. \"{u}ber den cron-Dienst
1416    gestartet werden und eine bestimmte Aktion erst ausf\"{u}hren sollen,
1417    wenn der Director im Leerlauf ist.
1418    Das wait-Kommando kennt die folgenden Optionen:
1419 \footnotesize
1420 \begin{verbatim}
1421    wait [jobid=nn] [jobuid=unique id] [job=job name]
1422 \end{verbatim}
1423 \normalsize
1424    Wenn eine der Optionen angegeben ist, wartet das wait-Kommando darauf,
1425    dass sich der spezifizierte Job beendet.
1426 \end{description}
1427
1428 \label{dotcommands}
1429 \section{Spezielle Punkt-Kommandos}
1430 \index[general]{Kommandos!Spezielle Punkt-}
1431 \index[general]{Spezielle Punkt-Kommandos}
1432
1433 Es gibt eine Reihen von Kommandos die mit einem Punkt (.) beginnen.
1434 Diese Kommandos sind prinzipiell f\"{u}r die Verwendung in Batch-Programmen
1435 oder Benutzerschnittstellen gedacht. Sie werden normalerweise nicht durch einen
1436 Benutzer in der Console ausgef\"{u}hrt. Hier ist eine \"{U}bersicht:
1437
1438 \footnotesize
1439 \begin{verbatim}
1440 .backups job=xxx      zeigt die Backups des angegebenen Jobs an
1441 .clients              listet alle Client-Namen auf
1442 .defaults client=xxx fileset=yyy  zeigt die Defaults des angegebenen Clients an
1443 .die                  verursacht einen Segment-Fault des Directors (zur Fehlersuche)
1444 .dir                  im Datei-Auswahl-Modus des restore-Kommandos werden die Ausgaben
1445                       durch ein Komma getrennt, statt durch Leerzeichen wie beim dir
1446 .exit                 quit
1447 .filesets             zeigt alle FileSet-Namen an
1448 .help                 zeigt die Hilfe unformatiert an
1449 .jobs                 zeigt alle Job-Namen an
1450 .levels               zeigt alle Backup-Level an
1451 .messages             siehe messages
1452 .msgs                 zeigt die message-Konfigurations-Namen an
1453 .pools                zeigt alle Pool-Namen an
1454 .quit                 quit
1455 .status               holt Status-Ausgaben
1456 .storage              zeigt die Namen der Storage-Einträge an
1457 .types                zeigt die Job-Typen an
1458 \end{verbatim}
1459 \normalsize
1460
1461 \label{atcommands}
1462
1463 \section{Spezielle @-Kommandos}
1464 \index[general]{Kommandos!Spezielle @-}
1465 \index[general]{Spezielle @-Kommandos}
1466
1467 Normalerweise werden alle eingegebenen Kommandos direkt zur Ausf\"{u}hrung an den
1468 Director-Dienst, welcher eventuell auf einem anderen Computer l\"{a}uft, geschickt.
1469 Allerdings gibt es eine kleine Anzahl {\bf @}-Kommandos, die mit einem @ beginnen,
1470 und die nicht durch den Director, sondern durch die Console selbst, ausgef\"{u}hrt werden.
1471 Diese Kommandos sind nur in der Terminal(tty)-Version der Console implementiert, aber nicht in der
1472 GNOME-Version. Diese Kommandos sind:
1473
1474 \begin{description}
1475
1476 \item [@input \lt{}filename\gt{}]
1477    \index[general]{@input \lt{}filename\gt{}}
1478    Liest und f\"{u}hrt die Kommandos aus der angegebenen Datei aus. 
1479
1480 \item [@output \lt{}filename\gt{} w/a]
1481    \index[general]{@output \lt{}filename\gt{} w/a}
1482    Schreibt die Ausgaben der Console in die angegebene Datei.
1483    Entweder wird die Datei \"{u}berschrieben (Option w) oder es wird an 
1484    eine bestehende Datei angeh\"{a}ngt (Option a). Um die Ausgaben wieder an das Terminal
1485    umzuleiten k\"{o}nnen Sie einfach {\bf @output} ohne einen Datei-Namen angeben.
1486    Passen Sie aber auf, dass Sie nicht versehentlich eine bereits bestehende Datei
1487    \"{u}berschreiben. Hier ein Beispiel um alle Ausgaben zu unterdr\"{u}cken:
1488
1489 \footnotesize
1490 \begin{verbatim}
1491     @output /dev/null
1492     weitere Kommandos ...
1493     @output
1494 \end{verbatim}
1495 \normalsize
1496
1497 \item [@tee \lt{}filename\gt{} w/a]
1498    \index[general]{@tee \lt{}filename\gt{} w/a}
1499    Sendet die Ausgaben an das Terminal und an die angegebene Datei.
1500    Zum Beenden f\"{u}hren Sie {\bf @tee} oder {\bf @output} ohne Datei-Namen aus.
1501
1502 \item [@sleep \lt{}seconds\gt{}]
1503    \index[general]{@sleep \lt{}seconds\gt{}}
1504    Schl\"{a}ft die angegebene Zeit in Sekunden.
1505
1506 \item [@time]
1507    \index[general]{@time}
1508    zeigt die aktuelle Zeit und das Datum an.
1509
1510 \item [@version]
1511    \index[general]{@version}
1512    zeigt die Console-Version an 
1513
1514 \item [@quit]
1515    \index[general]{@quit}
1516    quit
1517
1518 \item [@exit]
1519    \index[general]{@exit}
1520    quit
1521
1522 \item [@\# anything]
1523    \index[general]{anything}
1524    ein Kommantar 
1525 \end{description}
1526
1527 \label{scripting}
1528 \section{Steuern der Console durch ein Shell-Script}
1529 \index[general]{Script!Steuern der Console durch ein Shell-}
1530 \index[general]{Steuern der Console durch ein Shell-Script}
1531
1532 Sie k\"{o}nnen viele Console-Aufgaben durch Shell-Scripte vereinfachen.
1533 Wenn Sie zum Beispiel folgende Kommandos in ein Script schreiben:
1534
1535 \footnotesize
1536 \begin{verbatim}
1537  ./bconsole -c ./bconsole.conf <<END_OF_DATA
1538  unmount storage=DDS-4
1539  quit
1540  END_OF_DATA
1541 \end{verbatim}
1542 \normalsize
1543
1544 wird durch seine Ausf\"{u}hrung das Ger\"{a}t DDS-4 freigegeben und im Falle
1545 eines Autochangers auch entladen. Sie k\"{o}nnen solche Scripte auch in
1546 der Job-Konfiguration als {\bf RunBeforeJob} oder {\bf RunAfterJob} angeben.
1547
1548 Sie k\"{o}nnen die Console auch die Datei mit den Kommandos einlesen lassen,
1549 wenn Sie sie so starten:
1550
1551 \footnotesize
1552 \begin{verbatim}
1553 ./bconsole -c ./bconsole.conf <Dateiname
1554 \end{verbatim}
1555 \normalsize
1556
1557 wobei die Datei {\bf Dateiname} beliebige und beliebig viele Kommandos
1558 enthalten kann.
1559
1560 Als ein Beispiel, eine Datei die w\"{a}hrend Entwicklungstests von Bacula benutzt wird,
1561 es wird ein Festplatten-Volume gelabelt, ein Job gestartet und die gesicherten Dateien
1562 wiederhergestellt:
1563
1564 \footnotesize
1565 \begin{verbatim}
1566 ./bconsole -c ./bconsole.conf <<END_OF_DATA
1567 @output /dev/null
1568 messages
1569 @output /tmp/log1.out
1570 label volume=TestVolume001
1571 run job=Client1 yes
1572 wait
1573 messages
1574 @#
1575 @# now do a restore
1576 @#
1577 @output /tmp/log2.out
1578 restore current all
1579 yes
1580 wait
1581 messages
1582 @output
1583 quit
1584 END_OF_DATA
1585 \end{verbatim}
1586 \normalsize
1587
1588 Die Ausgaben des Jobs werden dabei zu /tmp/log1.out und die Ausgaben der Wiederherstellung
1589 zu /tmp/log2.out umgeleitet. Um automatisch zu \"{u}berpr\"{u}fen, ob beides erfolgreich war,
1590 werden die beiden Log-Dateien mit diesem Script kontrolliert:
1591
1592 \footnotesize
1593 \begin{verbatim}
1594 grep "^Termination: *Backup OK" /tmp/log1.out
1595 backupstat=$?
1596 grep "^Termination: *Restore OK" /tmp/log2.out
1597 restorestat=$?
1598 \end{verbatim}
1599 \normalsize
1600
1601 \section{Volumes zu einem Pool hinzuf\"{u}gen}
1602 \index[general]{Volumes zu einem Pool hinzuf\"{u}gen}
1603 \index[general]{Pool!Volumes hinzuf\"{u}gen}
1604
1605 Fall Sie das {\bf label}-Kommando zum labeln eines Volumes benutzt haben,
1606 wird es automatisch zu dem angegebenen Pool hinzugef\"{u}gt.
1607 Alternativ k\"{o}nnen Sie aber auch Volumes zu einem Pool hinzuf\"{u}gen ohne sie zu labeln.
1608 Diese k\"{o}nnen dann sp\"{a}ter je nachdem gelabelt werden, wie Bacula sie ben\"{o}tigt.
1609
1610 Die folgenden Informationen m\"{u}ssen Sie vor dem hinzuf\"{u}gen haben:
1611
1612 \begin{enumerate}
1613 \item Den Namen des Pools (normalerweise "`Default"')
1614 \item Den Media-Typ wie er in dem Storage-Eintrag der Director-Dienst-Konfiguration angegeben ist
1615 (z.B. DLT8000)
1616 \item Die Anzahl und Namen der Volumes die Sie erstellen m\"{o}chten
1617 \end{enumerate}
1618
1619 Um die Volumes zu dem Pool hinzuzuf\"{u}gen, k\"{o}nnen Sie dann beispielweise
1620 folgende Kommandos ausf\"{u}hren:
1621
1622 \footnotesize
1623 \begin{verbatim}
1624 *add
1625 Enter name of Pool to add Volumes to: Default
1626 Enter the Media Type: DLT8000
1627 Enter number of Media volumes to create. Max=1000: 10
1628 Enter base volume name: Save
1629 Enter the starting number: 1
1630 10 Volumes created in pool Default
1631 *
1632 \end{verbatim}
1633 \normalsize
1634
1635 Zur Kontrolle k\"{o}nnen Sie sich dann die neuen Volumes anzeigen lassen:
1636
1637 \footnotesize
1638 \begin{verbatim}
1639 *list media pool=Default
1640 +-------+----------+---------+---------+-------+------------------+
1641 | MedId | VolumeNa | MediaTyp| VolStat | Bytes | LastWritten      |
1642 +-------+----------+---------+---------+-------+------------------+
1643 |    11 | Save0001 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1644 |    12 | Save0002 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1645 |    13 | Save0003 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1646 |    14 | Save0004 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1647 |    15 | Save0005 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1648 |    16 | Save0006 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1649 |    17 | Save0007 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1650 |    18 | Save0008 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1651 |    19 | Save0009 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1652 |    20 | Save0010 | DLT8000 | Append  |     0 | 0000-00-00 00:00 |
1653 +-------+----------+---------+---------+-------+------------------+
1654 *
1655 \end{verbatim}
1656 \normalsize
1657
1658 Bitte beachten Sie, dass die Console automatisch eine fortlaufende Nummer
1659 an den Volume-Namen (Save in diesem Beispiel) anh\"{a}ngt. Wenn Sie diese Nummern
1660 nicht angeh\"{a}ngt haben m\"{o}chten, m\"{u}ssen Sie auf die Frage "`Enter number
1661 of Media volumes to create. Max=1000:"' mit 0 (Null) antworten. Dann wird nur ein
1662 einzelnes Volume, mit dem von Ihnen eingegebenen Namen, erzeugt.