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