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}
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.
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.
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.)
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.
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.
34 \section{Console Konfiguration}
35 \index[general]{Console Konfiguration}
36 \index[general]{Konfiguration!Console}
37 \index[general]{Console Konfiguration}
38 \index[general]{Konfiguration!Console}
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.
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-}
55 Das Console-Programm kann mit den folgenden Optionen gestartet werden:
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
63 -t test - liest die Konfigurations-Datei und beendet sich dann
64 -? gibt diese Hilfe aus.
68 (*) \elink{Signale}{http://de.wikipedia.org/wiki/Signal\_\%28Computer\%29}
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:
80 <Kommando> <Parameter1>[=<Argument1>] <Parameter2>[=<Argument2>] ...
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.
101 zeigt alle gesicherten Dateien mit der JobID 23 an.
109 zeigt alle Pool-Konfigurations-Eintr\"{a}ge an.
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.
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}
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.
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.
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.
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.
155 Parameter des status und show-Kommandos,
156 dadurch werden alle Komponenten oder Eintr\"{a}ge ausgew\"{a}hlt
158 Parameter des update-Kommandos,
159 gibt an das alle Volumes des (im Parameter pool angegebenen) Pools
160 aktualisiert werden sollen.
162 Parameter des update-Kommandos,
163 gibt an das alle Volumes aller Pools aktualisiert werden sollen.
165 Parameter des restore-Kommandos.
167 Parameter des restore-Kommandos.
169 im use-Kommando erlaubt,
170 um den zu benutzenden Katalog auszuw\"{a}hlen
172 Parameter des show-Kommandos.
173 Ben\"{o}tigt keine Argumente.
176 Parameter des show, list und llist-Kommandos,
177 bezeichnet alle Clients. Ben\"{o}tigt keine Argumente.
179 im show-Kommando erlaubt.
180 Ben\"{o}tigt keine Argumente.
182 Parameter des restore-Kommandos.
183 Ben\"{o}tigt keine Argumente.
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.
190 Parameter des show-Kommandos.
191 Ben\"{o}tigt keine Argumente.
192 \item [director | dir]
194 Parameter des show-Kommandos.
195 Ben\"{o}tigt keine Argumente.
197 Parameter des restore-Kommandos.
198 Das Argument gibt das wiederherzustellende Verzeichnis an.
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.
206 wird im restore-Kommando benutzt.
207 Ben\"{o}tigt keine Argumente.
209 Parameter des restore-Kommandos.
211 Parameter des list und llist-Kommandos.
212 Ben\"{o}tigt keine Argumente.
215 Parameter des show-Kommandos.
216 Ben\"{o}tigt keine Argumente.
218 Parameter des show-Kommandos.
219 Ben\"{o}tigt keine Argumente.
221 Parameter des show, list und llist-Kommandos.
222 Ben\"{o}tigt keine Argumente.
224 Parameter des list und llist-Kommandos.
225 Ben\"{o}tigt keine Argumente.
227 Parameter des list und llist-Kommandos.
228 Ben\"{o}tigt keine Argumente.
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.
243 Parameter des estimate-Kommandos.
244 Ben\"{o}tigt keine Argumente.
247 Parameter des show-Kommandos.
248 Ben\"{o}tigt keine Argumente.
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.
256 Ben\"{o}tigt keine Argumente.
258 Ben\"{o}tigt keine Argumente.
261 Parameter des show, list und llist-Kommandos.
262 Ben\"{o}tigt keine Argumente.
264 Parameter des python-Kommandos,
265 dadurch wird der python-Interpreter neu gestartet. Ben\"{o}tigt keine Argumente.
267 Parameter des restore-Kommandos.
268 Ben\"{o}tigt keine Argumente.
270 Parameter des show-Kommandos.
271 Ben\"{o}tigt keine Argumente.
273 Parameter des show-Kommandos.
274 Ben\"{o}tigt keine Argumente.
275 \item [sd | store | storage]
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.
282 Parameter des list und llist-Kommandos.
283 Ben\"{o}tigt keine Argumente.
285 Parameter des restore-Kommandos.
287 Parameter des restore-Kommandos.
288 Ben\"{o}tigt keine Argumente.
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}
298 Die folgenden Kommandos sind derzeit verf\"{u}gbar:
301 \item [{add [pool=\lt{}pool-name\gt{} storage=\lt{}storage\gt{}
302 jobid=\lt{}JobId\gt{}]} ]
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.
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.
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).
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
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.
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
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.
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.
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
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.
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
398 Das delete-Kommando kann folgenderma{\ss}en aufgerufen werden:
401 delete pool=<pool-name> oder
405 delete volume=<volume-name> pool=<pool-name> oder
409 delete JobId=<job-id> JobId=<job-id2> ... oder
413 delete Job JobId=n,m,o-r,t ...
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.
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.
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.
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.
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:
463 estimate job=<job-name> listing client=<client-name>
464 fileset=<fileset-name> level=<level-name>
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.
470 Zum Beispiel k\"{o}nnen Sie folgendes eingeben:
475 estimate job=NightlySave listing level=Incremental
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.
497 \index[general]{exit}
498 Das exit-Kommando beendet die Console.
502 Aktiviert den nicht-interaktiven GUI-Modus.
508 \index[general]{help}
509 Das help-Kommando zeigt alle verf\"{u}gbaren Kommandos mit einer kurzen Beschreibung an.
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:
520 label storage=<storage-name> volume=<volume-name> slot=<slot>
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.
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.
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:
553 Das label-Kommando kann aufgrund verschiedener Gr\"{u}nde fehlschlagen:
556 \item Der angegebene Volume-Name existiert schon in der Katalog-Datenbank
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.
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.
567 \item Es ist kein Volume im Ger\"{a}t.
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:
577 [user@host]$ mt -f /dev/st0 rewind
578 [user@host]$ mt -f /dev/st0 weof
582 Ein Festplatten-Volume k\"{o}nnen Sie auch manuell l\"{o}schen.
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.
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.
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.
604 Als Beispiel, mit dem Eintrag:
609 Cleaning Prefix = "CLN"
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:
620 label storage=xxx pool=yyy slots=1-5,10 barcodes
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:
633 list jobid=<id> (zeigt jobid <id> an)
635 list ujobid=<unique job name> (zeigt den job mit dem Namen <unique job name> an)
637 list job=<job-name> (zeigt alle Jobs mit dem Namen <job-name> an)
639 list jobname=<job-name> (identisch mit dem oberen)
641 Im oberen Beispiel kann auch den Parameter limit=nn angegeben
642 werden, um die Ausgabe des Kommandos auf nn Jobs zu begrenzen
646 list jobmedia jobid=<id>
648 list jobmedia job=<job-name>
650 list files jobid=<id>
652 list files job=<job-name>
662 list volumes jobid=<id>
664 list volumes pool=<pool-name>
666 list volumes job=<job-name>
668 list volume=<volume-name>
670 list nextvolume job=<job-name>
672 list nextvol job=<job-name>
674 list nextvol job=<job-name> days=nnn
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.
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}.
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.
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
711 Als ein Beispiel, kann Ihnen der Aufruf des Kommandos {\bf list pools} die folgenden
716 +------+---------+---------+---------+----------+-------------+
717 | PoId | Name | NumVols | MaxVols | PoolType | LabelFormat |
718 +------+---------+---------+---------+----------+-------------+
719 | 1 | Default | 0 | 0 | Backup | * |
720 | 2 | Recycle | 0 | 8 | Backup | File |
721 +------+---------+---------+---------+----------+-------------+
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.
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
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.
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.
758 Wenn Sie anstelle des {\bf list pools}, wie im oberen Beispiel, das
759 Kommando {\bf llist pools} verwenden, erhalten Sie diese Ausgabe:
770 VolRetention: 1,296,000
771 VolUseDuration: 86,400
787 VolUseDuration: 3,600
798 \index[general]{messages}
799 Durch ausf\"{u}hren des messages-Kommandos werden wartende Console-Meldungen
803 \index[general]{memory}
804 Gibt die momentane Speichernutzung des Director-Dienstes aus.
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.
817 Das mount-Kommando kann folgenderma{\ss}en aufgerufen werden
821 mount storage=<storage-name> [ slot=<num> ] [
824 mount [ jobid=<id> | job=<job-name> ]
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.
833 \index[general]{python}
834 Das python-Kommando kennt nur den Parameter {\bf restart}:
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}.
848 \label{ManualPruning}
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.
864 prune files|jobs|volume|stats client=<client-name>
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.
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:
886 purge files jobid=<jobid>|job=<job-name>|client=<client-name>
888 purge jobs client=<client-name> (of all jobs)
890 purge volume|volume=<vol-name> (of all jobs)
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
898 Die Daten auf den Volumes werden durch dieses Kommando nicht ver\"{a}ndert.
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.
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.
915 Die folgenden Anweisungen sind momentan vordefiniert (Version 2.2.7):
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):
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
950 relabel storage=<storage-name> oldvolume=<old-volume-name>
951 volume=<newvolume-name>
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).
962 Wenn das Volume erfolgreich relabelt wurde, sind alle Daten auf dem Volume verloren
963 und k\"{o}nnen nicht wiederhergestellt werden.
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.
972 release storage=<storage-name>
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.
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.
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.
1007 \label{restore_command}
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}.
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
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.
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.
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:
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
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.
1062 A job name must be specified.
1063 The defined Job resources are:
1073 Select Job resource (1-9):
1078 Nach der Auswahl der Nummer 5 erscheint:
1084 FileSet: Minou Full Set
1089 When: 2003-04-23 17:08:18
1090 OK to run? (yes/mod/no):
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:
1101 Parameters to modify:
1109 Select parameter to modify (1-7):
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.
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.
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:
1136 setdebug level=nn [trace=0/1 client=<client-name> | dir | director |
1137 storage=<storage-name> | all]
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.
1149 \index[general]{setip}
1150 erm\"{o}glicht dem Client seine aktuelle IP-Adresse dem Director-Dienst
1151 mitzuteilen, falls er dazu autorisiert ist.
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.
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.
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.
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.
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:
1192 status [all | dir=<dir-name> | director [days=nnn] |
1193 client=<client-name> | [slots] storage=<storage-name> ]
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.
1208 In der Liste der laufenden Jobs finden Sie diese Informationen:
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
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"'.
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.
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:
1246 Connecting to Storage daemon File at 192.168.68.112:8103
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.
1255 Jobs waiting to reserve a drive:
1259 JobId Level Files Bytes Status Finished Name
1260 ======================================================================
1261 59 Full 234 4,417,599 OK 15-Jan-06 11:54 kernsave
1265 Autochanger "DDS-4-changer" with devices:
1267 Device "DDS-4" (/dev/nst0) is mounted with Volume="TestVolume002"
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.
1275 Device "DVD-Writer" (/dev/hdc) is not open.
1276 Device "File" (/tmp) is not open.
1279 In Use Volume status:
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
1296 Autochanger "DDS-4-changer" with devices:
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.
1304 Device "DVD-Writer" (/dev/hdc) is not open.
1305 Device "File" (/tmp) is not open.
1306 Device is BLOCKED waiting for media.
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.
1317 \index[general]{time}
1318 Gibt die aktuelle Uhrzeit aus.
1321 \index[general]{trace}
1322 Schaltet das Mitschneiden der Dienst-Ausgaben in eine Datei ein oder aus.
1323 Siehe setdebug Kommando.
1326 \index[general]{umount}
1327 identisch mit unmount (in Anlehnung an das Unix-Kommando umount).
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:
1335 unmount storage=<storage-name> [ drive=<num> ]
1337 unmount [ jobid=<id> | job=<job-name> ]
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.
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.
1350 \label{UpdateCommand}
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:
1360 media, volume, pool, slots, stats
1364 Falls Sie Volumes aktualisieren, werden Sie nach den zu \"{a}ndernden Parametern gefragt.
1365 Folgende Volume-Parameter k\"{o}nnen angepasst werden:
1370 Volume Retention Period
1373 Maximum Volume Files
1374 Maximum Volume Bytes
1382 All Volumes from Pool
1383 All Volumes from all Pools
1388 Bei Auswahl von {\bf Pool} wird Bacula das gew\"{a}hlte Volume in den angegebenen
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.)
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.
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.
1409 Das update-Kommando kann wie folgt aufgerufen werden:
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
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.
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.
1445 \index[general]{version}
1446 Das version-Kommando gibt die Version des Director-Dienstes aus.
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:
1457 wait [jobid=nn] [jobuid=unique id] [job=job name]
1460 Wenn eine der Optionen angegeben ist, wartet das wait-Kommando darauf,
1461 dass sich der spezifizierte Job beendet.
1465 \section{Spezielle Punkt-Kommandos}
1466 \index[general]{Kommandos!Spezielle Punkt-}
1467 \index[general]{Spezielle Punkt-Kommandos}
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:
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
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
1491 .status holt Status-Ausgaben
1492 .storage zeigt die Namen der Storage-Einträge an
1493 .types zeigt die Job-Typen an
1499 \section{Spezielle @-Kommandos}
1500 \index[general]{Kommandos!Spezielle @-}
1501 \index[general]{Spezielle @-Kommandos}
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:
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.
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:
1528 weitere Kommandos ...
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.
1538 \item [@sleep \lt{}seconds\gt{}]
1539 \index[general]{@sleep \lt{}seconds\gt{}}
1540 Schl\"{a}ft die angegebene Zeit in Sekunden.
1543 \index[general]{@time}
1544 zeigt die aktuelle Zeit und das Datum an.
1547 \index[general]{@version}
1548 zeigt die Console-Version an
1551 \index[general]{@quit}
1555 \index[general]{@exit}
1558 \item [@\# anything]
1559 \index[general]{anything}
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}
1568 Sie k\"{o}nnen viele Console-Aufgaben durch Shell-Scripte vereinfachen.
1569 Wenn Sie zum Beispiel folgende Kommandos in ein Script schreiben:
1573 ./bconsole -c ./bconsole.conf <<END_OF_DATA
1574 unmount storage=DDS-4
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.
1584 Sie k\"{o}nnen die Console auch die Datei mit den Kommandos einlesen lassen,
1585 wenn Sie sie so starten:
1589 ./bconsole -c ./bconsole.conf <Dateiname
1593 wobei die Datei {\bf Dateiname} beliebige und beliebig viele Kommandos
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
1602 ./bconsole -c ./bconsole.conf <<END_OF_DATA
1605 @output /tmp/log1.out
1606 label volume=TestVolume001
1613 @output /tmp/log2.out
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:
1630 grep "^Termination: *Backup OK" /tmp/log1.out
1632 grep "^Termination: *Restore OK" /tmp/log2.out
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}
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.
1646 Die folgenden Informationen m\"{u}ssen Sie vor dem hinzuf\"{u}gen haben:
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
1652 \item Die Anzahl und Namen der Volumes die Sie erstellen m\"{o}chten
1655 Um die Volumes zu dem Pool hinzuzuf\"{u}gen, k\"{o}nnen Sie dann beispielweise
1656 folgende Kommandos ausf\"{u}hren:
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
1671 Zur Kontrolle k\"{o}nnen Sie sich dann die neuen Volumes anzeigen lassen:
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 +-------+----------+---------+---------+-------+------------------+
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.