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 Im einfachsten Fall enth\"{a}llt diese Datei nur den Namen und die Adresse des Director-Dienstes
43 sowie das Passwort, dass f\"{u}r die Verbindung zum Director-Dienst ben\"{o}tigt wird.
44 F\"{u}r weitere Informationen zu dieser Datei, lesen Sie bitte das Kapitel \"{u}ber die \ilink{Console-Konfiguration-Datei}{ConsoleConfChapter} in diesem Handbuch.
46 \section{Benutzung des Console-Programms}
47 \index[general]{Benutzung des Console-Programms}
48 \index[general]{Programm!Benutzung des Console-}
49 \index[general]{Benutzung des Console-Programms}
50 \index[general]{Programm!Benutzung des Console-}
52 Das Console-Programm kann mit den folgenden Optionen gestartet werden:
55 Usage: bconsole [-s] [-c Konfigurations-Datei] [-d Debug-Level]
56 -c <Datei> gibt die zu verwendene Konfigurations-Datei an
57 -dnn setzt den Debug-Level auf nn
60 -t test - liest die Konfigurations-Datei und beendet sich dann
61 -? gibt diese Hilfe aus.
65 (*) \elink{Signale}{http://de.wikipedia.org/wiki/Signal\_\%28Computer\%29}
67 Nach dem Start des Console-Programms zeigt es durch sein Prompt (*) an,
68 dass es auf Benutzereingaben wartet. (in der GNOME-Console gibt es kein Prompt,
69 geben Sie die Befehle bitte einfach in der Textbox unten im Fenster ein.)
70 Sie k\"{o}nnen in jeder Console einfach nur das Kommando eingeben, wenn weitere Parameter
71 erforderlich sind, wird das Programm Sie danach fragen. Alternativ k\"{o}nnen Sie
72 nat\"{u}rlich auch das komplette Kommando mit allen ben\"{o}tigten Parametern eingeben
73 und ausf\"{u}hren. Das normale Befehlsformat ist dieses:
77 <Kommando> <Parameter1>[=<Argument1>] <Parameter2>[=<Argument2>] ...
81 wobei {\bf Kommando} einer der unten aufgef\"{u}hrten Console-Befehle
82 und {\bf Parameter} eines der unten aufgelisteten Schl\"{u}sselw\"{o}rter ist,
83 dem dann meistens ein {\bf Argument} folgt. Alle Befehle k\"{o}nnen in der
84 k\"{u}rzesten eindeutigen Form eingegeben werden. Falls zwei Befehle mit identischen
85 Buchstaben anfangen, wird der ausgef\"{u}hrt, der in der Ausgabe des {\bf help}-Kommandos
86 am weitesten oben steht. Wenn Sie das andere Kommando ausf\"{u}hren m\"{o}chten m\"{u}ssen Sie
87 dementsprechend mehr Buchstaben eingeben, um es eindeutig anzugeben. Keiner der
88 Parameter darf abgek\"{u}rzt werden.
98 zeigt alle gesicherten Dateien mit der JobID 23 an.
106 zeigt alle Pool-Konfigurations-Eintr\"{a}ge an.
108 Die maximale L\"{a}nge der eingegebenen Befehle, mit Parametern, ist 511 Zeichen.
109 Falls Sie die Console \"{u}ber ein Script ansprechen, denken Sie bitte daran,
110 dass Sie dieses Limit nicht \"{u}berschreiten.
112 \section{Beenden des Console-Programms}
113 \index[general]{Programm!Beenden des Console-}
114 \index[general]{Beenden des Console-Programms}
115 \index[general]{Programm!Beenden des Console-}
116 \index[general]{Beenden des Console-Programms}
118 Normalerweise beenden Sie das Console-Programm durch die Eingabe von {\bf quit} oder {\bf exit}.
119 Allerdings wartet die Console bis der Director-Dienst das Kommando best\"{a}tigt. Wenn der
120 Director bereits ein l\"{a}nger laufendes Kommando ausf\"{u}hrt, kann es sein, dass das Beenden
121 der Console einen Moment dauert. Falls Sie die Console sofort verlassen wollen, k\"{o}nnen Sie
122 in dem Fall das Kommando {\bf .quit} verwenden.
124 Momentan gibt es keinen Weg ein laufendes Kommando nach dem Starten abzubrechen (z.B. mit STRG+C).
125 Allerdings k\"{o}nnen Sie jederzeit, wenn die Console Sie nach einer weiteren Eingabe fragt,
126 das aktuelle Kommando beenden, indem Sie einen Punkt {\bf .} eingeben. Nach der Eingabe des Punktes,
127 werden Sie automatisch zum Hauptprompt oder bei verschachtelten Abfragen zum passenden letzten Prompt
128 zur\"{u}ckgeleitet. Bei einigen Eingaben, wie zum Beispiel der Frage nach einem Volume-Namen, wird
129 der Punkt als Eingabe gewertet und Sie haben beim n\"{a}chsten Prompt die M\"{o}glichkeit,
130 das Kommando abzubrechen.
133 \section{Alphabetische Liste der Console-Schl\"{u}sselw\"{o}rter}
134 \index[general]{Schl\"{u}sselw\"{o}rter!Alphabetische Liste der Console}
135 \index[general]{Alphabetische Liste der Console-Schl\"{u}sselw\"{o}rter}
136 \index[general]{Schl\"{u}sselw\"{o}rter!Alphabetische Liste der Console}
137 \index[general]{Alphabetische Liste der Console-Schl\"{u}sselw\"{o}rter}
138 Wenn es nicht anders angegeben ist, ben\"{o}tigt jedes der folgenden Schl\"{u}sselw\"{o}rter
139 (Parameter der Console-Befehle) ein Argument, welches dem Schl\"{u}sselwort,
140 getrennt durch ein Gleichheitszeichen, folgt.
146 Bitte beachten Sie, dass diese Liste durch die st\"{a}ndig weitergehende
147 Entwicklung eventuell weder komplett, noch in der richtigen alphabetischen
148 Reihenfolge sein kann.
152 Parameter des status und show-Kommandos,
153 dadurch werden alle Komponenten oder Eintr\"{a}ge ausgew\"{a}hlt
155 Parameter des update-Kommandos,
156 gibt an das alle Volumes des (im Parameter pool angegebenen) Pools
157 aktualisiert werden sollen.
159 Parameter des update-Kommandos,
160 gibt an das alle Volumes aller Pools aktualisiert werden sollen.
162 Parameter des restore-Kommandos.
164 Parameter des restore-Kommandos.
166 im use-Kommando erlaubt,
167 um den zu benutzenden Katalog auszuw\"{a}hlen
169 Parameter des show-Kommandos.
170 Ben\"{o}tigt keine Argumente.
173 Parameter des show, list und llist-Kommandos,
174 bezeichnet alle Clients. Ben\"{o}tigt keine Argumente.
176 im show-Kommando erlaubt.
177 Ben\"{o}tigt keine Argumente.
179 Parameter des restore-Kommandos.
180 Ben\"{o}tigt keine Argumente.
182 definiert die Anzahl der Tage, die das "`list nextvol"'-Kommando
183 in Betracht ziehen soll. Der Parameter days kann auch im Kommando
184 "`status director"' verwendet werden, um die geplanten Jobs f\"{u}r die
185 angegebene Anzahl Tage zu zeigen.
187 Parameter des show-Kommandos.
188 Ben\"{o}tigt keine Argumente.
189 \item [director | dir]
191 Parameter des show-Kommandos.
192 Ben\"{o}tigt keine Argumente.
194 Parameter des restore-Kommandos.
195 Das Argument gibt das wiederherzustellende Verzeichnis an.
197 Dieser Parameter kann bei den Kommandos "`update volumes"' und "`update slots"'
198 verwendet werden. Das Argument kann yes, true, no, false, archived, 0,1 oder 2 sein.
199 0 ist identisch mit no oder false, 1 mit yes oder true und 2 mit archived.
200 Archived Volumes werden weder benutzt noch automatisch aus dem Katalog gel\"{o}scht.
201 Volumes die nicht enabled sind, werden nicht f\"{u}r das Backup oder die Wiederherstellung benutzt.
203 wird im restore-Kommando benutzt.
204 Ben\"{o}tigt keine Argumente.
206 Parameter des restore-Kommandos.
208 Parameter des list und llist-Kommandos.
209 Ben\"{o}tigt keine Argumente.
212 Parameter des show-Kommandos.
213 Ben\"{o}tigt keine Argumente.
215 Parameter des show-Kommandos.
216 Ben\"{o}tigt keine Argumente.
218 Parameter des show, list und llist-Kommandos.
219 Ben\"{o}tigt keine Argumente.
221 Parameter des 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 Die jobid ist die numerische Jobid, die im Job-Report angezeigt wird.
229 Sie ist der Index f\"{u}r die Datenbankeintr\"{a}ge des entsprechenden Jobs.
230 Da sie f\"{u}r alle in der Datenbank existierenden Jobs einzigartig ist,
231 kann sie erst wiederverwendet werden, wenn der vorherige Job mit dieser Jobid
232 aus der Datenbank gel\"{o}scht wurde.
233 \item [job | jobname]
234 Parameter des list und llist-Kommandos.
235 Der Job oder JobName entspricht dem Namen den Sie im Job-Eintr\"{a}g
236 angegeben haben, somit bezieht er sich auf alle Jobs dieses Namens,
237 die jemals gelaufen sind und deren Eintr\"{a}ge noch im Katalog existieren.
240 Parameter des estimate-Kommandos.
241 Ben\"{o}tigt keine Argumente.
244 Parameter des show-Kommandos.
245 Ben\"{o}tigt keine Argumente.
247 Parameter des list und llist-Kommandos.
248 Ben\"{o}tigt keine Argumente.
249 \item [nextvol | nextvolume]
250 Parameter des list und llist-Kommandos.
251 Ben\"{o}tigt keine Argumente.
253 Ben\"{o}tigt keine Argumente.
255 Ben\"{o}tigt keine Argumente.
258 Parameter des show, list und llist-Kommandos.
259 Ben\"{o}tigt keine Argumente.
261 Parameter des python-Kommandos,
262 dadurch wird der python-Interpreter neu gestartet. Ben\"{o}tigt keine Argumente.
264 Parameter des restore-Kommandos.
265 Ben\"{o}tigt keine Argumente.
267 Parameter des show-Kommandos.
268 Ben\"{o}tigt keine Argumente.
270 Parameter des show-Kommandos.
271 Ben\"{o}tigt keine Argumente.
272 \item [sd | store | storage]
274 Parameter des list-Kommandos.
275 Die ujobid ist eine M\"{o}glichkeit einen Job eindeutig zu identifizieren.
276 Momentan besteht die ujobid aus dem JobNamen und der Uhrzeit wann der Job gelaufen ist.
279 Parameter des list und llist-Kommandos.
280 Ben\"{o}tigt keine Argumente.
282 Parameter des restore-Kommandos.
284 Parameter des restore-Kommandos.
285 Ben\"{o}tigt keine Argumente.
289 \section{Alphabetische Liste der Console-Kommandos}
290 \index[general]{Kommandos!Alphabetische Liste der Console-}
291 \index[general]{Alphabetische Liste der Console-Kommandos}
292 \index[general]{Kommandos!Alphabetische Liste der Console-}
293 \index[general]{Alphabetische Liste der Console-Kommandos}
295 Die folgenden Kommandos sind derzeit verf\"{u}gbar:
298 \item [{add [pool=\lt{}pool-name\gt{} storage=\lt{}storage\gt{}
299 jobid=\lt{}JobId\gt{}]} ]
301 Das add-Kommando wird benutzt um Volumes zu einem bestehenden Pool
302 hinzuzuf\"{u}gen. Dabei wird der Volume-Eintrag in der Datenbank erzeugt
303 und das Volume dem Pool zugeordnet. Allerdings erfolgt kein physikalischer Zugriff
304 auf das Volume. Nach dem hinzuf\"{u}gen zu einem Pool geht Bacula davon
305 aus, dass das Volume wirklich existiert und auch bereits gelabelt ist.
306 Dieses Kommando wird normalerweise nicht benutzt, da Bacula die Volumes
307 automatisch beim labeln einem Pool hinzuf\"{u}gt. Allerdings ist es hilfreich,
308 falls Sie ein Volume aus dem Katalog gel\"{o}scht haben und es sp\"{a}ter wieder
309 hinzuf\"{u}gen wollen.
311 Typischerweise wird das label-Kommando anstelle des add-Kommandos benutzt, da
312 es au{\ss}er dem labeln des physikalischen Volumes, die identischen Schritte
313 wie das add-Kommando ausf\"{u}hrt. Das add-Kommando \"{a}ndert nur die Katalog-Eintr\"{a}ge
314 und nicht die physikalischen Volumes. Die physikalischen Volumes m\"{u}ssen
315 vorhanden und gelabelt sein (normalerweise mit dem label-Kommando). Trotzdem
316 kann das add-Kommando sinnvoll sein, wenn Sie zum Beispiel eine bestimmte Anzahl
317 von Volumes einem Pool hinzuf\"{u}gen wollen, wobei die Volumes erst zu einem
318 sp\"{a}teren Zeitpunkt gelabelt werden. Auch um ein Volume eines anderen Bacula-Systems
319 (bzw. anderen Director-Dienstes) zu importieren, kann das add-Kommando benutzt werden.
320 Die erlaubten Zeichen f\"{u}r einen Volume-Namen finden Sie weiter unten
321 in der Beschreibung des label-Kommandos.
323 \item [autodisplay on/off]
324 \index[general]{autodisplay on/off}
325 Das autodisplay-Kommando kennt zwei Parameter: {\bf on} und {\bf off},
326 wodurch die automatische Anzeige von Nachrichten in der Console entsprechend
327 ein- oder ausgeschaltet wird. Der Standardwert ist {\bf off}, was bedeutet, dass
328 Sie \"{u}ber neue Meldungen benachrichtigt werden, sie aber nicht automatisch
329 angezeigt werden. In der GNOME-Console ist das automatische Anzeigen dagegen
330 standardm\"{a}{\ss}ig aktiviert, d.h. neue Meldungen werden automatisch
331 ausgegeben, wenn sie vom Director-Dienst empfangen wurden (typischerweise innerhalb von
332 ca. 5 Sekunden nachdem sie generiert wurden).
334 Wenn autodisplay auf off steht, m\"{u}ssen Sie neue Nachrichten mit dem
335 {\bf messages}-Kommando abrufen, um sie sich anzeigen zu lassen.
336 Wenn autodisplay auf on steht, werden die Nachrichten angezeigt, sobald die Console sie
339 \item [automount on/off]
340 \index[general]{automount on/off}
341 Das automount-Kommando kennt zwei Parameter: {\bf on} und {\bf off},
342 die entsprechend das automatische mounten nach dem labeln ({\bf label}-Kommando)
343 an- oder ausschalten. Der Standardwert ist on. Wenn automount ausgeschaltet ist,
344 m\"{u}ssen Sie nach dem labeln eines Volumes dieses explizit mounten ({\bf mount}-Kommando),
345 um es benutzen zu k\"{o}nnen.
347 \item [{cancel [jobid=\lt{}number\gt{} job=\lt{}job-name\gt{} ujobid=\lt{}unique-jobid\gt{}]}]
348 \index[general]{cancel jobid}
349 Das cancel-Kommando wird benutzt um einen Job abzubrechen und kennt die
350 Parameter {\bf jobid=nnn} oder {\bf job=xxx}, wobei jobid die numerische JobID ist
351 und job der Job-Name. Wenn Sie weder job noch jobid angeben, listet die Console
352 alle in Frage kommenden Jobs auf und erlaubt Ihnen aus dieser Liste den abzubrechenden
355 Wenn ein Job als abzubrechen gekennzeichnet wurde, kann es einige Zeit dauern,
356 bis er tats\"{a}chlich beendet wird (normalerweise innerhalb einer Minute).
357 Diese Zeit ist aber abh\"{a}ngig davon, was der Job gerade tut.
359 \item [{create [pool=\lt{}pool-name\gt{}]}]
360 \index[general]{create pool}
361 Das create-Kommando wird normalerweise nicht benutzt, da die Pool-Eintr\"{a}ge
362 im Katalog automatisch angelegt werden, wenn der Director-Dienst startet und
363 er seine Pool-Konfiguration aus den Konfigurations-Dateien einliest. Falls ben\"{o}tigt,
364 kann mit diesem Kommando ein Pool-Eintrag in der Katalog-Datenbank erstellt werden,
365 der auf einem Pool-Konfigurations-Eintrag basiert, der in der Director-Dienst-Konfiguration
366 enthalten ist. Einfach gesagt \"{u}bernimmt dieses Kommando nur den Pool-Eintrag aus der
367 Konfiguration in die Datenbank. Normalerweise wird diese Kommando automatisch ausgef\"{u}hrt,
368 wenn der Pool zum ersten mal in einem Job-Eintrag benutzt wird. Wenn Sie dieses Kommando
369 auf einem bestehenden Pool ausf\"{u}hren, wird der Katalog sofort aktualisiert und enth\"{a}lt
370 dann die identische Pool-Konfiguration, wie die Konfigurations-Dateien. Nach dem Erstellen
371 eines Pool in den Konfigurations-Dateien werden Sie allerdings h\"{o}chstwahrscheinlich
372 das {\bf label}-Kommando benutzen, um ein oder mehrere Volumes dem neuen Pool hinzuzuf\"{u}gen
373 und die entsprechenden Eintr\"{a}ge im Katalog zu erzeugen, anstatt des create-Kommandos.
375 Wenn ein Job gestartet wird und Bacula bemerkt,
376 dass kein passender Pool-Eintrag im Katalog vorhanden ist,
377 aber in den Konfigurations-Dateien, dann wird der Pool im Katalog automatisch angelegt.
378 Wenn Sie m\"{o}chten, dass der Pool-Eintrag sofort (ohne das ein Job mit diesem Pool gestartet wurde)
379 im Katalog erscheint, k\"{o}nnen Sie einfach diese Kommando ausf\"{u}hren, um diesen Vorgang
382 \item [{delete [volume=\lt{}vol-name\gt{} pool=\lt{}pool-name\gt{} job
383 jobid=\lt{}id\gt{}]}]
384 \index[general]{delete}
385 Das delete-Kommando wird benutzt um ein Volume, einen Pool oder einen Job-Eintrag,
386 sowie jeweils alle dazugeh\"{o}rigen Datenbank-Eintr\"{a}ge, aus dem Katalog zu
387 entfernen. Das Kommando \"{a}ndert nur die Katalog-Datenbank, es hat keine
388 Auswirkungen auf die Konfigurations-Dateien oder die Daten auf den Volumes.
389 Wir empfehlen Ihnen dieses Kommando nur zu benutzen, wenn Sie wirklich wissen was Sie tun.
391 Wenn der Parameter {\bf Volume} angegeben wird, wird das entsprechende Volume aus dem Katalog
392 gel\"{o}scht, wenn ein {\bf Pool} angeben wird, der entsprechende Pool und bei Angabe des Parameters
393 {\bf Job} der entsprechende Job, sowie alle zu diesem Job geh\"{o}hrenden JobMedia- und Datei-Eintr\"{a}ge.
394 Das delete-Kommando kann folgenderma{\ss}en aufgerufen werden:
397 delete pool=<pool-name> oder
401 delete volume=<volume-name> pool=<pool-name> oder
405 delete JobId=<job-id> JobId=<job-id2> ... oder
409 delete Job JobId=n,m,o-r,t ...
412 Das erste Beispiel l\"{o}scht einen Pool-Eintrag aus der Katalog-Datenbank.
413 Das zweite l\"{o}scht einen Volume-Eintrag aus dem angegebenen Pool
414 und das dritte Beispiel l\"{o}scht die genannten JobID-Eintr\"{a}ge aus
415 dem Katalog. Es werden die JobIDs n, m, o, p, q, r und t gel\"{o}scht,
416 wobei die JobID's n, m, o ... nat\"{u}rlich Zahlen entsprechen m\"{u}ssen.
417 Wie Sie sehen, kann das delete-Kommando Listen von JobIDs und auch Bereiche
418 (z.B. o-r) verarbeiten.
420 \item [disable job\lt{}job-name\gt{}]
421 \index[general]{disable}
422 Das disable-Kommando erlaubt es Ihnen zu verhindern, dass ein Job
423 automatisch durch den Director-Dienst ausgef\"{u}hrt wird. Wenn Sie den Director-Dienst
424 neu starten, wird der Status des Jobs wieder auf den Wert gesetzt, der
425 im Job-Eintrag der Director-Konfiguration eingetragen ist.
427 \item [enable job\lt{}job-name\gt{}]
428 \index[general]{enable}
429 Das enable-Kommando erlaubt es Ihnen, einen Job der durch das
430 disable-Kommando aus der automatischen Job-Planung entfernt wurde,
431 wieder zu aktivieren. Wenn Sie den Director-Dienst neu starten,
432 wird der Status des Jobs wieder auf den Wert gesetzt, der im
433 Job-Eintrag der Director-Konfiguration eingetragen ist.
437 \index[general]{estimate}
438 Mit dem estimate-Kommando k\"{o}nnen Sie sich anzeigen lassen, welche
439 Dateien durch einen bestimmten Job gesichert werden, ohne diesen Job
440 ausf\"{u}hren zu m\"{u}ssen. Standardm\"{a}{\ss}ig wird dabei ein Voll-Backup
441 angenommen. Sie k\"{o}nnen das aber durch den Parameter level entsprechend anpassen,
442 indem Sie zum Beispiel {\bf level=Incremental} oder {\bf level=Differential} an das
443 estimate-Kommando mit \"{u}bergeben. Wenn Sie im Aufruf des Kommandos keinen Job-Name
444 angegeben, wird die Console Ihnen eine Auswahlliste der m\"{o}glichen Jobs anzeigen.
445 Zus\"{a}tzlich k\"{o}nnen Sie noch die Parameter Client und FileSet angeben. Nach dem
446 Starten des Kommandos wird der Director-Dienst den Client kontaktieren, der daraufhin
447 eine Liste der zu sichernden Dateien mit ihrer Gr\"{o}{\ss}e zur\"{u}ckgibt. Bitte beachten
448 Sie, dass das estimate-Kommando nur die Anzahl der von der Datei belegten Bl\"{o}cke zur
449 Bestimmung der Dateigr\"{o}{\ss}e einbezieht, so dass die Datenmenge, die das estimate-Kommando
450 anzeigt, immer etwas gr\"{o}{\ss}er sein wird als das echte Backup.
452 Wahlweise k\"{o}nnen Sie noch den Parameter {\bf listing} mit \"{u}bergeben,
453 dann wird eine Liste aller zu sichernden Dateien ausgegeben. Abh\"{a}ngig vom FileSet
454 kann diese Liste sehr lang sein und es daher einige Zeit dauern, alle Dateien anzuzeigen.
455 Das estimate-Kommando kann folgenderma{\ss}en aufgerufen werden:
459 estimate job=<job-name> listing client=<client-name>
460 fileset=<fileset-name> level=<level-name>
463 die Angabe des Jobs ist ausreichend, aber Sie k\"{o}nnen durch Angabe
464 des Clients, FileSets und/oder des Backup-Levels die entsprechenden Werte \"{u}berschreiben.
466 Zum Beispiel k\"{o}nnen Sie folgendes eingeben:
471 estimate job=NightlySave listing level=Incremental
476 durch das erste Kommando wird die Ausgabe der Console in die Datei
477 {\bf /tmp/listing} umgeleitet. Dann wird durch das estimate-Kommando
478 eine Liste aller Dateien erstellt, die beim n\"{a}chsten inkrementellen
479 Backup des Jobs {\bf NightlySave} gesichert werden. Die Console gibt dabei keine
480 Meldungen aus, da die Ausgabe ja auf die Datei /tmp/listing zeigt. Durch
481 das dritte Kommando @output wird die Umleitung der Ausgabe wieder aufgehoben.
482 Beachten Sie bitte, dass die angezeigten Bytes in der Ausgabe des estimate-Kommandos
483 \"{u}ber die Angabe der Dateigr\"{o}{\ss}e im Verzeichnis-Eintrag bestimmt wird.
484 Das kann zu gro{\ss}en Abweichungen bei der ermittelten Backup-Gr\"{o}{\ss}e f\"{u}hren,
485 falls im FileSet \elink{sparse}{http://de.wikipedia.org/wiki/Sparse-Datei}-Dateien
486 vorhanden sind. sparse-Dateien finden sich oft auf 64-Bit-Maschinen, wo sie f\"{u}r
487 bestimmte Systemdateien benutzt werden. Die angezeigten Bytes sind die Gesammtgr\"{o}{\ss}e
488 der gesicherten Dateien, wenn die FileSet-Option "`sparse"' nicht gesetzt ist.
489 Momentan gibt es keinen Weg, um mit dem estimate-Kommando die echte Backup-Gr\"{o}{\ss}e
490 f\"{u}r ein FileSet anzuzeigen, bei dem die sparse-Option gesetzt ist.
493 \index[general]{help}
494 Das help-Kommando zeigt alle verf\"{u}gbaren Kommandos mit einer kurzen Beschreibung an.
497 \index[general]{label}
498 \index[general]{relabel}
499 \index[general]{label}
500 \index[general]{relabel}
501 Das label-Kommando wird benutzt um physikalische Volumes zu labeln.
502 Das label-Kommando kann folgenderma{\ss}en aufgerufen werden:
505 label storage=<storage-name> volume=<volume-name> slot=<slot>
508 Wenn Sie einen der Parameter storage, volume oder slot nicht angeben,
509 werden Sie von der Console danach gefragt. Der Media-Typ wird automatisch
510 anhand des Storage-Eintrags in der Director-Konfiguration gesetzt.
511 Wenn alle ben\"{o}tigten Informationen vorliegen, kontaktiert die
512 Console den angegebenen Storage-Dienst und sendet das label-Kommando.
513 Wenn das labeln erfolgreich war, wird ein entsprechender Volume-Eintrag
514 im passenden Pool erzeugt.
516 Im Volume-Name d\"{u}rfen Buchstaben, Zahlen und folgende Sonderzeichen
517 verwendet werden: Binde- ({\bf -}) und Unterstrich ({\bf \_}),
518 Doppelpunkt ({\bf :}) und Punkt ({\bf .}). Alle anderen Zeichen,
519 einschlie{\ss}lich des Leerzeichens, sind nicht erlaubt.
520 Durch diese Einschr\"{a}nkung soll sichergestellt werden, dass
521 die Volume-Namen gut lesbar sind und es nicht zu Benutzerfehlern
522 aufgrund von Sonderzeichen im Namen kommt.
524 Bitte beachten Sie, dass Bacula einen Ein-/Ausgabefehler meldet,
525 wenn ein neues bzw. komplett leeres Volume gelabelt wird. Bacula
526 versucht den ersten Block des Volumes zu lesen, um ein eventuell schon
527 vorhandenes label nicht zu \"{u}berschreiben, dieser Versuch erzeugt
528 den oben genannten Fehler. Um diesen Fehler zu vermeiden, k\"{o}nnen Sie
529 mit den folgenden Shell-Kommandos ein EOF am den Anfang des Volumes schreiben:
539 Das label-Kommando kann aufgrund verschiedener Gr\"{u}nde fehlschlagen:
542 \item Der angegebene Volume-Name existiert schon in der Katalog-Datenbank
544 \item Der Storage-Dienst hat schon ein Tape oder anderes Volume in dem
545 ben\"{o}tigten Ger\"{a}t gemountet. In diesem Fall m\"{u}ssen Sie
546 das Ger\"{a}t erst mit dem {\bf unmount}-Kommando freigeben und dann
547 ein leeres Volume zum labeln einlegen.
549 \item Das Volume ist bereits gelabelt. Bacula wird niemals ein bestehendes label
550 \"{u}berschreiben, solange das Volume nicht abgelaufen ist und Sie das
551 {\bf relabel}-Kommando verwenden.
553 \item Es ist kein Volume im Ger\"{a}t.
556 Es gibt zwei M\"{o}glichkeiten ein bestehendes Bacula-label zu \"{u}berschreiben.
557 Die brutale Methode ist es, einfach ein EOF an den Anfang des Volumes zu schreiben
558 (dabei wird das bestehende label durch das EOF \"{u}berschrieben).
559 Mit dem Programm {\bf mt} k\"{o}nnen Sie das zum Beispiel so tun:
563 [user@host]$ mt -f /dev/st0 rewind
564 [user@host]$ mt -f /dev/st0 weof
568 Ein Festplatten-Volume k\"{o}nnen Sie auch manuell l\"{o}schen.
570 Danach benutzten Sie das label-Kommando, um ein neues label zu erzeugen.
571 Allerdings kann diese Vorgehensweise Spuren des alten Volumes in der
572 Katalog-Datenbank hinterlassen.
574 Die bevorzugte Methode ein Volume neu zu labeln sollte es sein,
575 zuerst das Volume als bereinigt (purged) zu markieren. Das passiert entweder automatisch,
576 wenn die Aufbewahrungszeit (Volume-Retention) f\"{u}r das Volume abl\"{a}uft,
577 oder kann aber auch mit dem {\bf purge}-Kommando erzwungen werden.
578 Danach k\"{o}nnen Sie das {\bf relabel}-Kommando, wie weiter unten beschrieben, verwenden.
580 Falls Ihr Autochanger Barcode-Labels unterst\"{u}tzt, k\"{o}nnen Sie
581 alle Volumes im Autochanger, eins nach dem anderen, mit dem Kommando
582 {\bf label barcodes} labeln. Dabei wird jedes Tape mit Barcode nacheinander
583 im Laufwerk gemountet und mit der auf dem Barcode enthaltenen Zeichenfolge
584 als Namen gelabelt. Ein entsprechender Katalog-Eintrag wird automatisch
585 mit erzeugt. Jedes Volume mit einem Barcode der mit den Zeichen beginnt,
586 die im Pool-Eintrag als CleaningPrefix konfiguriert sind, wird wie ein
587 Reinigungsband behandelt und nicht gelabelt. Allerdings wird dabei auch
588 ein Katalog-Eintrag f\"{u}r das Reinigungsband erstellt.
590 Als Beispiel, mit dem Eintrag:
595 Cleaning Prefix = "CLN"
600 wird jedes Tape, dessen Barcode mit CLN beginnt, als Reinigungsband betrachtet
601 und nicht automatisch gemountet.
602 Das label-Kommando kann folgenderma{\ss}en aufgerufen werden:
606 label storage=xxx pool=yyy slots=1-5,10 barcodes
611 \index[general]{list}
612 Das list-Kommando zeigt den angegebenen Inhalt der Katalog-Datenbank an.
613 Die verschiedenen Felder jedes Eintrags werden in einer Zeile ausgegeben.
614 Die verschiedenen M\"{o}glichkeiten sind:
619 list jobid=<id> (zeigt jobid <id> an)
621 list ujobid=<unique job name> (zeigt den job mit dem Namen <unique job name> an)
623 list job=<job-name> (zeigt alle Jobs mit dem Namen <job-name> an)
625 list jobname=<job-name> (identisch mit dem oberen)
627 Im oberen Beispiel kann auch den Parameter limit=nn angegeben
628 werden, um die Ausgabe des Kommandos auf nn Jobs zu begrenzen
632 list jobmedia jobid=<id>
634 list jobmedia job=<job-name>
636 list files jobid=<id>
638 list files job=<job-name>
648 list volumes jobid=<id>
650 list volumes pool=<pool-name>
652 list volumes job=<job-name>
654 list volume=<volume-name>
656 list nextvolume job=<job-name>
658 list nextvol job=<job-name>
660 list nextvol job=<job-name> days=nnn
665 Die meisten der oben genannten Parameter sollten selbsterkl\"{a}rend sein.
666 \"{U}blicherweise werden Sie, falls Sie nicht gen\"{u}gend Parameter angeben,
667 von der Console nach den fehlenden Informationen gefragt.
669 Das {\bf list nextvol}-Kommando gibt den Volume-Namen aus, der von dem angegebenen Job
670 beim n\"{a}chsten Backup benutzt werden wird. Allerdings sollten Sie beachten, dass
671 das tats\"{a}chlich benutzte Volume von einer Reihe von Faktoren, wie zum Beispiel
672 von den vorher laufenden Jobs oder der Zeit, wann der Job l\"{a}uft, abh\"{a}ngen kann.
673 Eventuell wird ein Tape schon voll sein, das aber noch freien Platz hatte, als Sie
674 das Kommando ausf\"{u}hrten. Dieses Kommando gibt Ihnen also nur einen Hinweis darauf,
675 welches Tape benutzt werden k\"{o}nnte, aber es kann keine definitive Aussage dar\"{u}ber treffen.
676 Zus\"{a}tzlich kann dieses Kommando mehrere Seiteneffekte haben, da es den selben
677 Algorithmus durchl\"{a}uft, wie ein echter Backup-Job. Das bedeutet, dass es dazu f\"{u}hren kann,
678 dass aufgrund dieses Kommandos Volumes automatisch recycled oder gel\"{o}scht (purged) werden.
679 Standardm\"{a}{\ss}ig muss der angegebene Job innerhalb der n\"{a}chsten zwei Tage laufen,
680 ansonsten wird kein Volume f\"{u}r den Job gefunden. Allerdings k\"{o}nnen Sie durch Angabe des Parameters
681 {\bf days=nnn} bis zu 50 Tage in die Zukunft angeben, die das Kommando in die Berechnung
682 mit einbeziehen soll. Falls Sie, zum Beispiel, Freitags sehen wollen, welches Volume am Montag
683 voraussichtlich benutzt wird, k\"{o}nnen Sie folgendes Kommando benutzen:
684 {\bf list nextvol job=MyJob days=3}.
686 Wenn Sie bestimmte, von Ihnen \"{o}fter ben\"{o}tigte, eigene Kommandos anlegen wollen
687 um sich bestimmte Inhalte der Katalog-Datenbank anzeigen zu lassen,
688 k\"{o}nnen Sie diese der Datei {\bf query.sql} hinzu\"{u}gen. Allerdings
689 erfordert das einiges an Wissen \"{u}ber SQL-Kommandos. Lesen Sie dazu bitte
690 den Abschnitt \"{u}ber das {\bf query}-Kommando in diesem Kapitel.
692 Weiter unten finden Sie auch eine Beispiel-Ausgabe des {\bf llist}-Kommandos,
693 das Ihnen den kompletten Inhalt des Katalogs zu einem bestimmten Konfigurations-Eintrag
696 Als ein Beispiel, kann Ihnen der Aufruf des Kommandos {\bf list pools} die folgenden
701 +------+---------+---------+---------+----------+-------------+
702 | PoId | Name | NumVols | MaxVols | PoolType | LabelFormat |
703 +------+---------+---------+---------+----------+-------------+
704 | 1 | Default | 0 | 0 | Backup | * |
705 | 2 | Recycle | 0 | 8 | Backup | File |
706 +------+---------+---------+---------+----------+-------------+
710 Wie oben schon angedeutet, zeigt das {\bf list}-Kommando den Inhalt
711 der Katalog-Datenbank an. Einige Konfigurations-Eintr\"{a}ge, bzw.
712 \"{A}nderungen an den Konfigurations-Eintr\"{a}gen, werden beim
713 Start des Director-Dienstes in die Datenbank geschrieben.
714 Die meisten Einstellungen und \"{A}nderungen werden hingegen
715 erst im Katalog aktualisiert, wenn sie zum ersten Mal
716 benutzt werden, so zum Beispiel die Client- und Job-Eintr\"{a}ge.
718 Bacula erzeugt den Client-Eintrag also dann, wenn zum ersten Mal
719 ein Job f\"{u}r diesen Client startet. Durch das {\bf status}-Kommando
720 wird die Katalog-Datenbank nicht aktualisiert, auch wenn Sie dort
721 eventuell schon einen Eintrag f\"{u}r den neuen Client in der Liste der
722 geplanten Jobs sehen. Der Client-Eintrag wird auf alle F\"{a}lle
723 beim starten des ersten Jobs des Clients erzeugt, egal ob der Job
724 erfolgreich lief oder nicht. Zus\"{a}tzlich schreibt der Director-Dienst
725 noch eine weitere Client-Information in die Katalog-Datenbank (die Ausgabe
728 Wenn Sie alle verf\"{u}gbaren Client-Eintr\"{a}ge der Datenbank (auch aus mehreren
729 Katalog-Datenbanken, falls konfiguriert) sehen wollen,
730 k\"{o}nnen Sie auch das {\bf show clients}-Kommando verwenden, das zudem
731 noch Informationen \"{u}ber die Adresse, den Port und den Katalog-Namen des Clients
732 (sowie einige andere) ausgibt.
735 \index[general]{llist}
736 Das llist-Kommando ("`langes list"') benutzt dieselben Parameter wie das oben
737 beschriebene list-Kommando. Der Unterschied ist, dass das llist-Kommando
738 den kompletten Inhalt der Katalog-Datenbank, zu der als Parameter angegebenen
739 Konfiguration, anzeigt. Dabei werden die einzelnen Felder der Datenbank-Eintr\"{a}ge
740 untereinander, mit einem Feld pro Zeile, ausgegeben. Diese Kommando kann eine
741 sehr lange Liste an Ausgaben produzieren.
743 Wenn Sie anstelle des {\bf list pools}, wie im oberen Beispiel, das
744 Kommando {\bf llist pools} verwenden, erhalten Sie diese Ausgabe:
755 VolRetention: 1,296,000
756 VolUseDuration: 86,400
772 VolUseDuration: 3,600
784 \index[general]{messages}
785 Durch ausf\"{u}hren des messages-Kommandos werden wartende Console-Meldungen
789 \index[general]{mount}
790 Das mount-Kommando veranlasst Bacula dazu, ein Volume in einem physikalischen
791 Laufwerk zu lesen. Es ist damit m\"{o}glich Bacula mitzuteilen, dass ein neues
792 Tape im Laufwerk ist und Bacula wird daraufhin versuchen das Label einlesen,
793 um das Volume richtig zuordnen zu k\"{o}nnen. Normalerweise wird dieses Kommando
794 nur ausgef\"{u}hrt, wenn kein Volume im Laufwerk war und Bacula Sie auffordert
795 ein neues einzulegen, oder wenn Sie das Laufwerk vorher mit dem {\bf unmount}-Kommando
796 freigegeben haben. Falls Sie einen Autochanger benutzen, wird das mount-Kommando
797 Sie nach dem Slot des Tapes und dem Laufwerk fragen, in welchem das Tape gemountet werden soll.
799 Das mount-Kommando kann folgenderma{\ss}en aufgerufen werden
803 mount storage=<storage-name> [ slot=<num> ] [
806 mount [ jobid=<id> | job=<job-name> ]
810 Wenn Sie in der Ger\"{a}te-Konfiguration des Storage-Dienstes {\bf Automatic Mount = yes}
811 angegeben haben, wird Bacula automatisch auf das Ger\"{a}t zugreifen, solange Sie es
812 nicht explizit mit dem {\bf unmount}-Kommando freigegeben haben.
815 \index[general]{python}
816 Das python-Kommando kennt nur den Parameter {\bf restart}:
824 dadurch wird der python-Interpreter des Director-Dienstes neu geladen.
825 Das kann beim Testen hilfreich sein, da es der einzige Weg ist, den python-Interpreter
826 nach dem Start des Director-Dienstes dazu zu veranlassen, seine Konfiguration
827 in der Datei {\bf DirStartUp.py} neu einzulesen. F\"{u}r weiterf\"{u}hrende Informationen
828 zum Thema python-Scripting lesen Sie bitte das Kapitel \ilink{PythonScripting}{PythonChapter}.
830 \label{ManualPruning}
832 \index[general]{prune}
833 Das prune-Kommando erlaubt es Ihnen, abgelaufenen Job- oder Volume-Eintr\"{a}ge
834 aus der Katalog-Datenbank zu entfernen. Dieses Kommando arbeitet nur auf der
835 Katalog-Datenbank und l\"{o}scht keine Dateien von den Volumes. Auf jeden Fall
836 wird ein Aufbewahrungszeitraum (RetentionPeriod) auf die angegebenen Eintr\"{a}ge angewendet,
837 wenn Sie dieses Kommando ausf\"{u}hren. Falls die Katalog-Eintr\"{a}ge also noch nicht
838 abgelaufen sind, hat das prune-Kommando auch keine Auswirkungen. Sie k\"{o}nnen
839 mit diesem Kommando abgelaufene Dateien aus den Job-Eintr\"{a}gen
840 l\"{o}schen, abgelaufene Jobs oder Statistiken aus dem Katalog entfernen
841 und Sie k\"{o}nnen veraltete Job- und Datei-Eintr\"{a}ge eines bestimmten
842 Volumes aus dem Katalog entfernen.
846 prune files|jobs|volume|stats client=<client-name>
851 Um die Katalog-Eintr\"{a}ge eines Volumes zu l\"{o}schen, muss der
852 {\bf VolStatus} entweder Full, Used oder Append sein, ansonsten werden
853 keine Eintr\"{a}ge entfernt.
856 \index[general]{purge}
857 Das purge-Kommando entfernt die angegebenen Katalog-Eintr\"{a}ge
858 ohne den Aufbewahrungszeitraum zu beachten. Dieses Kommando arbeitet nur
859 auf der Katalog-Datenbank und l\"{o}scht keine Dateien von den Volumes.
860 Mit diesem Kommando k\"{o}nnen auch versehentlich aktuelle Eintr\"{a}ge,
861 die eventuell dringend ben\"{o}tigt werden, aus der Katalog-Datenbank
862 gel\"{o}scht werden. Wir empfehlen Ihnen daher, dieses Kommando nur zu benutzen,
863 wenn Sie wirklich wissen was Sie tun.
864 Das purge-Kommando kann folgenderma{\ss}en aufgerufen werden:
868 purge files jobid=<jobid>|job=<job-name>|client=<client-name>
870 purge jobs client=<client-name> (of all jobs)
872 purge volume|volume=<vol-name> (of all jobs)
876 Damit das purge-Kommando Volume-Eintr\"{a}ge aus der Katalog-Datenbank
877 entfernen kann, muss der {\bf VolStatus} entweder Full, Error, Used oder
880 Die Daten auf den Volumes werden durch dieses Kommando nicht ver\"{a}ndert.
883 \index[general]{relabel}
884 \index[general]{relabel}
885 Das relabel-Kommando wird benutzt um ein neues label auf ein bereits
886 gelabeltes physikalisches Volume zu schreiben. Das Kommando wird wie folgt
891 relabel storage=<storage-name> oldvolume=<old-volume-name>
892 volume=<newvolume-name>
896 Wenn Sie einen Parameter nicht angeben, wird die Console Sie danach fragen.
897 Damit der alte Volume-Name (das label) \"{u}berschrieben werden kann,
898 muss der {\bf VolStatus} entweder Purged oder Recycle sein, was automatisch
899 passiert, wenn die entsprechenden Aufbewahrungszeitr\"{a}ume abgelaufen sind
900 (oder alle Datei- und Job-Eintr\"{a}ge dieses Volumes mit dem purge-Kommando
901 aus der Katalog-Datenbank entfernt wurden).
903 Wenn das Volume erfolgreich relabelt wurde, sind alle Daten auf dem Volume verloren
904 und k\"{o}nnen nicht wiederhergestellt werden.
907 \index[general]{release}
908 Das release-Kommando veranla{\ss}t den Storage-Dienst, dass im angegebenen Ger\"{a}t
909 befindliche Tape zur\"{u}ckzuspulen und das label beim n\"{a}chsten Zugriff neu einzulesen.
913 release storage=<storage-name>
917 Nach dem release-Kommando ist das Ger\"{a}t weiterhin von Bacula ge\"{o}ffnet
918 (au{\ss}er Sie haben "`Always Open"' in der Storage-Dienst-Konfiguration auf "`No"' gesetzt),
919 andere Proze{\ss}e/Programme k\"{o}nnen also nicht auf das Ger\"{a}t zugreifen.
920 Allerdings k\"{o}nnen Sie bei einigen Laufwerken, nach dem release-Kommando,
921 das Tape gegen ein anderes austauschen, da Bacula weiss, dass es das label
922 neu einlesen muss. Falls Sie mit anderen Programmen auf das Ger\"{a}t zugreifen wollen,
923 m\"{u}ssen Sie das unmount-Kommando verwenden, nur dann gibt Bacula das Ger\"{a}t komplett frei.
926 \index[general]{reload}
927 Das reload-Kommando veranla{\ss}t den Director-Dienst seine Konfigurations-Dateien
928 neu einzulesen und mit der aktuellen Konfiguration weiterzuarbeiten. Die neue
929 Konfiguration wird dabei sofort f\"{u}r alle neuen Jobs g\"{u}ltig.
930 Wenn Sie die Zeitpl\"{a}ne (Schedules) \"{a}ndern, bedenken Sie bitte, dass Bacula
931 die geplanten Jobs bis zu zwei Stunden im vorraus berechnet und es dadurch zu einer
932 Verz\"{o}gerung kommen kann, bis die neue Konfiguration g\"{u}ltig wird. Jobs die bereits
933 in der Warteschlange sind (deren eigentliche Startzeit also schon vorbei ist), werden
934 mit den alten Konfigurations-Werten abgearbeitet. Neue Jobs werden die neue Konfiguration
935 benutzen. Wenn Sie das reload-Kommando ausf\"{u}hren w\"{a}hrend Jobs laufen,
936 wird die neue Konfiguration solange zur\"{u}ckgehalten, bis alle Jobs beendet sind
937 und erst dann wirksam. Sie k\"{o}nnen bis zu zehn Konfigurations\"{a}nderungen
938 durchf\"{u}hren w\"{a}hrend Jobs laufen, erst danach wird der Director-Dienst
939 eine Meldung ausgeben, dass er nicht mehr unterschiedliche Konfigurationen
940 im Speicher vorhalten kann.
942 Auch wenn es m\"{o}glich ist, die Director-Konfiguration zur Laufzeit neu zu laden,
943 und auch dann wenn Jobs laufen, sollten Sie bei der n\"{a}chsten Gelegenheit
944 den Director-Dienst neu starten um Seiteneffekte auszuschlie{\ss}en. Das neue Einlesen
945 der Konfiguration ist ein sehr komplexer Vorgang und nur nach dem Neustart
946 k\"{o}nnen Sie sicher sein, dass nur noch mit der neuen Konfiguration gearbeitet wird.
948 \label{restore_command}
950 \index[general]{restore}
951 Das restore-Kommando erlaubt es Ihnen auf verschiedenen Wegen, einen oder mehrere Jobs (JobIDs)
952 zur Wiederherstellung auszuw\"{a}hlen. Nachdem die JobIDs ausgew\"{a}hlt wurden,
953 erstellt der Director-Dienst aus den dazugeh\"{o}hrigen Datei-Eintr\"{a}gen
954 einen internen Verzeichnis-Baum in dem Sie dann die Dateien und Verzeichnisse
955 zur Wiederherstellung markieren k\"{o}nnen. Dieser restore-Modus der Console
956 verh\"{a}hlt sich \"{a}hnlich dem Unix-Standard-Kommando {\bf restore}.
960 restore storage=<storage-name> client=<backup-client-name>
961 where=<path> pool=<pool-name> fileset=<fileset-name>
962 restoreclient=<restore-client-name>
963 select current all done
967 Wobei {\bf current}, falls angegeben, das restore-Kommando dazu veranla{\ss}t,
968 automatisch das aktuellste Backup zur Wiederherstellung auszuw\"{a}hlen.
969 Das Schl\"{u}sselwort {\bf all} w\"{a}hlt automatisch alle Dateien aus.
970 Falls Sie einen ben\"{o}tigten Parameter nicht angeben, wird das restore-Kommando
971 Sie danach fragen. F\"{u}r weitere Informationen zum {\bf restore}-Kommando
972 lesen Sie bitte das \ilink{Restore Kapitel}{RestoreChapter} dieses Handbuchs.
974 Das Schl\"{u}sselwort {\bf client} gibt sowohl den Client an, auf dem das Backup
975 gemacht wurde, als auch den Client auf dem das Backup widerhergestellt werden soll.
976 Durch Angabe des {\bf restoreclient} k\"{o}nnen Sie allerdings auch einen anderen Client
977 w\"{a}hlen, auf dem das Backup statt dessen wiederhergestellt werden soll.
981 Das run-Kommando erlaubt es Ihnen, Jobs in den Zeitplan des Director-Dienstes einzuf\"{u}gen,
982 die sofort gestartet werden sollen. Das run-Kommando kann wie folgend aufgerufen werden:
986 run job=<job-name> client=<client-name>
987 fileset=<FileSet-name> level=<level-keyword>
988 storage=<storage-name> where=<directory-prefix>
989 when=<universal-time-specification> yes
993 Jede ben\"{o}tigte Information, die nicht angegeben wurde, wird zur Auswahl aufgelistet.
994 Bevor der Job in den Zeitplan des Directors eingef\"{u}gt wird, werden Sie
995 aufgefordert die Parameter zu best\"{a}tigen, zu \"{a}ndern oder den Job abzubrechen.
996 Falls Sie das Schl\"{u}sselwort {\bf yes} angegeben haben, wird der Job ohne Nachfrage
997 in den Zeitplan aufgenommen.
1003 A job name must be specified.
1004 The defined Job resources are:
1014 Select Job resource (1-9):
1019 Nach der Auswahl der Nummer 5 erscheint:
1025 FileSet: Minou Full Set
1030 When: 2003-04-23 17:08:18
1031 OK to run? (yes/mod/no):
1036 Wenn Sie jetzt {\bf yes} eingeben, wird der Job gestartet,
1037 falls Sie {\bf mod} ausw\"{a}hlen,
1038 erscheint diese Liste der ver\"{a}nderbaren Parameter:
1042 Parameters to modify:
1050 Select parameter to modify (1-7):
1055 Wenn Sie den Job zum Beispiel erst zu einem sp\"{a}teren Zeitpunkt starten wollen,
1056 k\"{o}nnen Sie \"{u}ber die Auswahl Nr. 6 "`When"', die Startzeit anpassen.
1057 Die Zeit muss im Format YYYY-MM-DD HH:MM:SS angegeben werden.
1060 \index[general]{setdebug}
1061 \index[general]{setdebug}
1062 \index[general]{debugging}
1063 \index[general]{debugging Win32}
1064 \index[general]{Windows!debugging}
1065 Das setdebug-Kommando wird benutzt um den Debug-Level f\"{u}r die verschiedenen
1066 Dienste zu setzen (der Debug-Level bestimmt die Menge der ausgegebenen Programm-Informationen,
1067 die z.B. zur Fehlersuche verwendet werden k\"{o}nnen).
1068 Es wird wie folgt aufgerufen:
1072 setdebug level=nn [trace=0/1 client=<client-name> | dir | director |
1073 storage=<storage-name> | all]
1077 Wenn trace=1 gesetzt wird, schreibt der gew\"{a}hlte Dienst alle Ausgaben
1078 in eine Datei ("`Dienst-Name"'.trace) in seinem konfigurierten Arbeitsverzeichnis.
1079 Das ist vor allem bei Windows-Systemen n\"{u}tzlich, da sich dort die Programm-Ausgaben
1080 nicht \"{u}ber die Kommandozeile in Dateien umlenken lassen, bzw. keine Ausgaben
1081 im Terminal dargetestellt werden. Im Trace-Modus wird jede Programm-Ausgabe der Trace-Datei
1082 angeh\"{a}ngt. Diese Datei muss von Hand durch den Benutzer gel\"{o}scht werden.
1085 \index[general]{show}
1086 \index[general]{show}
1087 Das show-Kommando zeigt die Konfiguration des Director-Dienstes an.
1088 Diese Kommando wird haupts\"{a}chlich zur Fehlersuche durch die Entwickler
1089 benutzt. Die folgenden Schl\"{u}sselw\"{o}rter k\"{o}nnen angegeben werden:
1090 catalogs, clients, counters, devices, directors,filesets, jobs, messages,
1091 pools, schedules, storages, all, help. Bitte beachten Sie den Unterschied zum
1092 list-Kommando, welches den Inhalt der Katalog-Datenbank anzeigt.
1095 \index[general]{sqlquery}
1096 Das sqlquery-Kommando versetzt die Console in den SQL-Abfrage-Modus.
1097 Nach diesem Kommando k\"{o}nnen Sie, auch \"{u}ber mehrere Zeilen, eine
1098 SQL-Anweisung eingeben. Nachdem die Anweisung mit einem Semikolon (;) abgeschlossen
1099 ist, wird sie direkt an die Datenbank \"{u}bergeben. Nach der Ausgabe des Ergebnisses
1100 wird wieder eine neue SQL-Anweisung erwartet. Den SQL-Abfrage-Modus k\"{o}nnen Sie
1101 durch die Eingabe eines Punktes (.), als erstes Zeichen in der Eingabezeile, beenden.
1103 Mittels dieses Kommandos k\"{o}nnen Sie direkt die Katalog-Datenbank abfragen.
1104 Seihen Sie bitte vorsichtig, damit Sie nicht aus Versehen Datenbank-Eintr\"{a}ge
1105 \"{a}ndern oder l\"{o}schen. Lesen Sie bitte auch die Beschreibung des query-Kommandos
1106 weiter unten, mit dem Sie einfacher und sicherer Datenbank-Abfragen durchf\"{u}hren k\"{o}nnen.
1108 Abh\"{a}ngig von dem von Ihnen verwendeten Datenbank-Systems (MySQL, PostgreSQL
1109 oder SQLite) haben Sie mehr oder weniger M\"{o}glichkeiten direkte
1110 Datenbank-Abfragen durchzuf\"{u}hren.
1111 Mehr Informationen finden Sie in der Beschreibung Ihrer Datenbank.
1114 \index[general]{status}
1115 Das status-Kommando zeigt den momentanen Status des gew\"{a}hlten Dienstes an
1116 (Director, Storage oder eines Clients). Es kann wie folgt aufgerufen werden:
1120 status [all | dir=<dir-name> | director |
1121 client=<client-name> | storage=<storage-name> |
1126 Wenn Sie das Kommando {\bf status dir} ausf\"{u}hren, listet die Console
1127 die momentan laufenden Jobs, alle f\"{u}r die n\"{a}chsten 24 Stunden
1128 geplanten Jobs und die letzten 10 beendeten Jobs, sowie deren Status auf.
1129 Die Liste der geplanten Jobs enth\"{a}lt auch den Namen des Volumes,
1130 das voraussichtlich benutzt wird. Beachten Sie dabei bitte diese beiden Punkte:
1131 1. um das Volume zu ermitteln wird dieselbe Funktion benutzt wie in dem Moment
1132 wo der Backup-Job startet, allerdings werden die Ablaufzeitr\"{a}ume der Volumes
1133 nicht in Betracht gezogen; 2. das angezeigte Volume ist die nur bestm\"{o}gliche
1134 Sch\"{a}tzung, da das Volume eventuell in der zwischenzeit andersweitig benutzt
1135 oder auch durch vorher laufende Jobs vollgeschrieben werden k\"{o}nnte.
1137 In der Liste der laufenden Jobs finden Sie diese Informationen:
1141 2507 Catalog MatouVerify.2004-03-13_05.05.02 is waiting execution
1142 5349 Full CatalogBackup.2004-03-13_01.10.00 is waiting for higher
1143 priority jobs to finish
1144 5348 Differe Minou.2004-03-13_01.05.09 is waiting on max Storage jobs
1145 5343 Full Rufus.2004-03-13_01.05.04 is running
1149 Wenn Sie sich diese Ausgabe von unten nach oben anschauen, sehen Sie,
1150 dass JobId 5343 (Rufus) gerade l\"{a}uft. JobId 5348 (Minou) wartet darauf,
1151 dass der Job 5343 beendet wird, da dieser momentan die Storage-Resource verwendet,
1152 daher die Meldung: "`waiting on max Storage jobs"'. JobId 5349 (CatalogBackup)
1153 hat eine geringere Priorit\"{a}t und wartet daher auf die Beendigung der
1154 Jobs mit h\"{o}heren Priorit\"{a}ten. Zuoberst steht die JobId 2507 (MatouVerify),
1155 die als letzte dieser JobIds geplant wurde, da schon andere wartende und
1156 laufende JobIds vorhanden sind, hat sie nur den Status "`waiting execution"'.
1158 Das Kommando {\bf status dir} zeigt standardm\"{a}{\ss}ig nur die f\"{u}r
1159 heute und morgen geplanten Jobs an. Falls Sie die geplanten Jobs der n\"{a}chsten
1160 drei Tage sehen m\"{o}chten um, zum Beispiel am Freitag zu kontrollieren,
1161 welche Volumes am Freitag, am Wochenende und am Montag benutzt werden,
1162 k\"{o}nnen Sie die Option {\bf days=3} verwenden. {\bf days=0} zeigt nur die
1163 f\"{u}r heute geplanten Jobs an.
1165 Falls Ihre Jobs also nicht wie gew\"{u}nscht starten, k\"{o}nnen
1166 Sie sich mit dem Kommando {\bf status dir} einen \"{U}berblick \"{u}ber
1167 die momentan laufenden und wartenden Jobs, sowie den Grund des wartens,
1168 verschaffen. Genauere Informationen bekommen Sie meistens, wenn Sie
1169 das Kommando {\bf status storage=xxx} verwenden. Als Beispiel sind hier die
1170 Ausgaben die dieses Kommando auf einem Storage im Leerlauf anzeigt:
1175 Connecting to Storage daemon File at 192.168.68.112:8103
1177 rufus-sd Version: 1.39.6 (24 March 2006) i686-pc-linux-gnu redhat (Stentz)
1178 Daemon started 26-Mar-06 11:06, 0 Jobs run since started.
1184 Jobs waiting to reserve a drive:
1188 JobId Level Files Bytes Status Finished Name
1189 ======================================================================
1190 59 Full 234 4,417,599 OK 15-Jan-06 11:54 kernsave
1194 Autochanger "DDS-4-changer" with devices:
1196 Device "DDS-4" (/dev/nst0) is mounted with Volume="TestVolume002"
1198 Slot 2 is loaded in drive 0.
1199 Total Bytes Read=0 Blocks Read=0 Bytes/block=0
1200 Positioned at File=0 Block=0
1201 Device "Dummy" is not open or does not exist.
1202 No DEVICE structure.
1204 Device "DVD-Writer" (/dev/hdc) is not open.
1205 Device "File" (/tmp) is not open.
1208 In Use Volume status:
1213 Ganz oben sind unter "`Running Jobs"' und "`Jobs waiting .."' keine Eintr\"{a}ge,
1214 was bedeutet, dass momentan kein Job l\"{a}uft und damit auch keine Ger\"{a}te
1215 benutzt werden. Jetzt wird der Autochanger mit dem {\bf unmount}-Kommando
1216 freigegeben und ein Job gestartet der das Ger\"{a}t vom Typ "`File (/tmp)"'
1217 benutzen soll. Daraufhin gibt das Kommando {\bf status storage=xxx} diese
1225 Autochanger "DDS-4-changer" with devices:
1227 Device "DDS-4" (/dev/nst0) is not open.
1228 Device is BLOCKED. User unmounted.
1229 Drive 0 is not loaded.
1230 Device "Dummy" is not open or does not exist.
1231 No DEVICE structure.
1233 Device "DVD-Writer" (/dev/hdc) is not open.
1234 Device "File" (/tmp) is not open.
1235 Device is BLOCKED waiting for media.
1241 Der Autochanger ist, durch das {\bf unmount}-Kommando, im Status "`BLOCKED. User unmounted"'.
1242 Das Device File, mit dem der Job gestartet wurde, ist im Status "`BLOCKED waiting for media"',
1243 Bacula wartet jetzt darauf, dass Sie ein Volume labeln und mounten.
1246 \index[general]{unmount}
1247 Das unmount-Kommando veranlasst den Storage-Dienst dazu, dass angegebene Ger\"{a}t
1248 freizugeben. Der Aufruf dieses Kommandos ist identisch mit dem mount-Kommando:
1251 unmount storage=<storage-name> [ drive=<num> ]
1253 unmount [ jobid=<id> | job=<job-name> ]
1257 Nachdem ein Ger\"{a}t mit dem unmount-Kommando freigegeben wurde, kann
1258 Bacula es so lange nicht verwenden, bis es wieder mit dem mount-Kommando
1259 ge\"{o}ffnet wird. Falls Bacula das Ger\"{a}t zwischenzeitlich f\"{u}r einen
1260 Job ben\"{o}tigt, wird Bacula in regelm\"{a}{\ss}igen Abst\"{a}nden den Benutzer
1261 informieren, dass Ger\"{a}t zu mounten.
1263 Wenn das Ger\"{a}t ein Autochanger ist, wird das angebene Laufwerk
1264 zudem entladen. Wenn keine Laufwerk angegeben ist, wird Laufwerk 1 verwendet.
1266 \label{UpdateCommand}
1268 \index[general]{update}
1269 Das update-Kommando aktualisiert die Katalog-Datenbank entsprechend der angegebenen
1270 Option. M\"{o}glich sind Pool- oder Volume-Eintr\"{a}ge oder auch die Volumes
1271 in den Slots eines Autochangers mit Barcode-Unterst\"{u}tzung. Im Falle der Pool-Eintr\"{a}ge
1272 werden die aktuellen Information aus den Konfigurations-Dateien des Director-Dienstes gelesen.
1273 Die folgenden Schl\"{u}sselw\"{o}rter k\"{o}nnen angegeben werden:
1276 media, volume, pool, slots
1280 Falls Sie Volumes aktualisieren, werden Sie nach den zu \"{a}ndernden Parametern gefragt.
1281 Folgende Volume-Parameter k\"{o}nnen angepasst werden:
1286 Volume Retention Period
1289 Maximum Volume Files
1290 Maximum Volume Bytes
1298 All Volumes from Pool
1299 All Volumes from all Pools
1304 Bei Auswahl von {\bf Pool} wird Bacula das gew\"{a}hlte Volume in den angegebenen
1307 Bei Auswahl von {\bf Volume from Pool}, {\bf All Volumes from Pool} und {\bf All Volumes
1308 from all Pools} werden alle Volumes im entsprechenden Pool so angepasst, wie es aktuell
1309 in der Konfiguration des Director-Dienstes steht. Das betrifft folgende Eintr\"{a}ge:
1310 Recycle, RecyclePool, VolRetention, VolUseDuration, MaxVolJobs, MaxVolFiles,
1311 und MaxVolBytes. (RecyclePool ist erst ab Version \gt 2.1.4 verf\"{u}gbar.)
1313 Durch das Kommando {\bf update slots} holt sich Bacula eine aktuelle Liste der
1314 Volume-Barcodes in den Slots des Autochangers. F\"{u}r jeden gefundenen Barcode
1315 wird automatisch der Slot des Volumes in der Katalog-Datenbank angepasst.
1316 Das ist n\"{u}tzlich, falls Sie Volumes in den Magazinen verschoben oder gewechselt haben.
1317 Beim aktualisieren der Slots wird auch das InChanger-Flag der Volumes im Katalog angepasst,
1318 dadurch weiss Bacula welche Volumes im Autochanger verf\"{u}gbar sind.
1320 Falls Ihr Autochanger keine Barcodes unterst\"{u}tzt, k\"{o}nnen Sie die
1321 Volumes im Autochanger mit dem Kommando {\bf update slots scan} aktualisieren.
1322 Das Schl\"{u}sselwort {\bf scan} teilt Bacula (nur Version \gt 1.33) mit,
1323 dass es alle Volumes nacheinandern mounten soll, um das Tape-Label einzulesen.
1325 Das update-Kommando kann wie folgt aufgerufen werden:
1329 update volume=xxx pool=yyy slots volstatus=xxx VolRetention=ddd
1330 VolUse=ddd MaxVolJobs=nnn MaxVolBytes=nnn Recycle=yes|no
1331 slot=nnn enabled=n recyclepool=zzz
1337 \index[general]{use}
1338 Das use-Kommando wird verwendet um dem Director-Dienst mitzuteilen, welche Katalog-
1339 Datenbank verwendet werden soll. Da es normalerweise nur eine Datenbank gibt,
1340 wird diese immer automatisch ausgew\"{a}hlt. Fall Sie jedoch mehrere Katalog-Eintr\"{a}ge
1341 in der Konfiguration des Director-Dienstes angegeben haben, k\"{o}nnen Sie mittels
1342 des use-Kommandos von einem Katalog zum anderen wechseln.
1352 \index[general]{var name}
1353 Das var-Kommando akzeptiert eine Zeichenkette (auch in Anf\"{u}hrungstrichen)
1354 und f\"{u}hrt Variablen-Ersetzungen durch, wie sie auch mit der {\bf LabelFormat}
1355 Zeichenkette geschehen. Der einzige Unterschied ist, dass beim Ausf\"{u}hren des
1356 var-Kommandos kein Job l\"{a}uft und daher andere Werte verwendet werden anstelle von
1357 den Job-spezifischen. Allerdings werden Sie trotzdem einen Eindruck davon erhalten, was
1358 f\"{u}r eine Ausgabe zu erwarten ist.
1361 \index[general]{version}
1362 Das version-Kommando gibt die Version des Director-Dienstes aus.
1365 \index[general]{quit}
1366 Das quit-Kommando beendet das Consolen-Programm. Die Console sendet das quit-
1367 Kommando an den Director-Dienst und wartet auf seine Best\"{a}tigung. Falls der
1368 Director mit der Aus\"{u}hrung von anderen Kommandos besch\"{a}ftigt ist,
1369 kann es einen Moment dauern, bis das quit ausgef\"{u}hrt werden kann. In dem
1370 Fall k\"{o}nnen Sie durch Eingabe von {\bf .quit} die Console sofort beenden.
1373 \index[general]{query}
1374 Das query-Kommando liest die vordefinierten SQL-Komandos aus der Datei,
1375 die unter QueryFile in der Konfiguration des Director-Dienstes angegeben ist, ein.
1376 Danach k\"{o}nnen Sie aus der Liste der verf\"{u}gbaren SQL-Anweisungen eine
1377 zur Ausf\"{u}hrung ausw\"{a}hlen.
1379 Die folgenden Anweisungen sind momentan vordefiniert (Version 2.2.7):
1384 1: List up to 20 places where a File is saved regardless of the directory
1385 2: List where the most recent copies of a file are saved
1386 3: List last 20 Full Backups for a Client
1387 4: List all backups for a Client after a specified time
1388 5: List all backups for a Client
1389 6: List Volume Attributes for a selected Volume
1390 7: List Volumes used by selected JobId
1391 8: List Volumes to Restore All Files
1392 9: List Pool Attributes for a selected Pool
1393 10: List total files/bytes by Job
1394 11: List total files/bytes by Volume
1395 12: List Files for a selected JobId
1396 13: List Jobs stored on a selected MediaId
1397 14: List Jobs stored for a given Volume name
1398 15: List Volumes Bacula thinks are in changer
1399 16: List Volumes likely to need replacement from age or errors
1400 Choose a query (1-16):
1406 \index[general]{exit}
1407 Das exit-Kommando beendet die Console.
1410 \index[general]{wait}
1411 Das wait-Kommando wartet solange bis keine Jobs mehr laufen. Es kann
1412 in Batch-Programmen verwendet werden, die z.B. \"{u}ber den cron-Dienst
1413 gestartet werden und eine bestimmte Aktion erst ausf\"{u}hren sollen,
1414 wenn der Director im Leerlauf ist.
1415 Das wait-Kommando kennt die folgenden Optionen:
1418 wait [jobid=nn] [jobuid=unique id] [job=job name]
1421 Wenn eine der Optionen angegeben ist, wartet das wait-Kommando darauf,
1422 dass sich der spezifizierte Job beendet.
1426 \section{Spezielle Punkt-Kommandos}
1427 \index[general]{Kommandos!Spezielle Punkt-}
1428 \index[general]{Spezielle Punkt-Kommandos}
1430 Es gibt eine Reihen von Kommandos die mit einem Punkt (.) beginnen.
1431 Diese Kommandos sind prinzipiell f\"{u}r die Verwendung in Batch-Programmen
1432 oder Benutzerschnittstellen gedacht. Sie werden normalerweise nicht durch einen
1433 Benutzer in der Console ausgef\"{u}hrt. Hier ist eine \"{U}bersicht:
1437 .backups job=xxx zeigt die Backups des angegebenen Jobs an
1438 .clients listet alle Client-Namen auf
1439 .defaults client=xxx fileset=yyy zeigt die Defaults des angegebenen Clients an
1440 .die verursacht einen Segment-Fault des Directors (zur Fehlersuche)
1441 .dir im Datei-Auswahl-Modus des restore-Kommandos werden die Ausgaben
1442 durch ein Komma getrennt, statt durch Leerzeichen wie beim dir
1444 .filesets zeigt alle FileSet-Namen an
1445 .help zeigt die Hilfe unformatiert an
1446 .jobs zeigt alle Job-Namen an
1447 .levels zeigt alle Backup-Level an
1448 .messages siehe messages
1449 .msgs zeigt die message-Konfigurations-Namen an
1450 .pools zeigt alle Pool-Namen an
1452 .status holt Status-Ausgaben
1453 .storage zeigt die Namen der Storage-Einträge an
1454 .types zeigt die Job-Typen an
1460 \section{Spezielle @-Kommandos}
1461 \index[general]{Kommandos!Spezielle @-}
1462 \index[general]{Spezielle @-Kommandos}
1464 Normalerweise werden alle eingegebenen Kommandos direkt zur Ausf\"{u}hrung an den
1465 Director-Dienst, welcher eventuell auf einem anderen Computer l\"{a}uft, geschickt.
1466 Allerdings gibt es eine kleine Anzahl {\bf @}-Kommandos, die mit einem @ beginnen,
1467 und die nicht durch den Director, sondern durch die Console selbst, ausgef\"{u}hrt werden.
1468 Diese Kommandos sind nur in der Terminal(tty)-Version der Console implementiert, aber nicht in der
1469 GNOME-Version. Diese Kommandos sind:
1473 \item [@input \lt{}filename\gt{}]
1474 \index[general]{@input \lt{}filename\gt{}}
1475 Liest und f\"{u}hrt die Kommandos aus der angegebenen Datei aus.
1477 \item [@output \lt{}filename\gt{} w/a]
1478 \index[general]{@output \lt{}filename\gt{} w/a}
1479 Schreibt die Ausgaben der Console in die angegebene Datei.
1480 Entweder wird die Datei \"{u}berschrieben (Option w) oder es wird an
1481 eine bestehende Datei angeh\"{a}ngt (Option a). Um die Ausgaben wieder an das Terminal
1482 umzuleiten k\"{o}nnen Sie einfach {\bf @output} ohne einen Datei-Namen angeben.
1483 Passen Sie aber auf, dass Sie nicht versehentlich eine bereits bestehende Datei
1484 \"{u}berschreiben. Hier ein Beispiel um alle Ausgaben zu unterdr\"{u}cken:
1489 weitere Kommandos ...
1494 \item [@tee \lt{}filename\gt{} w/a]
1495 \index[general]{@tee \lt{}filename\gt{} w/a}
1496 Sendet die Ausgaben an das Terminal und an die angegebene Datei.
1497 Zum Beenden f\"{u}hren Sie {\bf @tee} oder {\bf @output} ohne Datei-Namen aus.
1499 \item [@sleep \lt{}seconds\gt{}]
1500 \index[general]{@sleep \lt{}seconds\gt{}}
1501 Schl\"{a}ft die angegebene Zeit in Sekunden.
1504 \index[general]{@time}
1505 zeigt die aktuelle Zeit und das Datum an.
1508 \index[general]{@version}
1509 zeigt die Console-Version an
1512 \index[general]{@quit}
1516 \index[general]{@exit}
1519 \item [@\# anything]
1520 \index[general]{anything}
1525 \section{Steuern der Console durch ein Shell-Script}
1526 \index[general]{Script!Steuern der Console durch ein Shell-}
1527 \index[general]{Steuern der Console durch ein Shell-Script}
1529 Sie k\"{o}nnen viele Console-Aufgaben durch Shell-Scripte vereinfachen.
1530 Wenn Sie zum Beispiel folgende Kommandos in ein Script schreiben:
1534 ./bconsole -c ./bconsole.conf <<END_OF_DATA
1535 unmount storage=DDS-4
1541 wird durch seine Ausf\"{u}hrung das Ger\"{a}t DDS-4 freigegeben und im Falle
1542 eines Autochangers auch entladen. Sie k\"{o}nnen solche Scripte auch in
1543 der Job-Konfiguration als {\bf RunBeforeJob} oder {\bf RunAfterJob} angeben.
1545 Sie k\"{o}nnen die Console auch die Datei mit den Kommandos einlesen lassen,
1546 wenn Sie sie so starten:
1550 ./bconsole -c ./bconsole.conf <Dateiname
1554 wobei die Datei {\bf Dateiname} beliebige und beliebig viele Kommandos
1557 Als ein Beispiel, eine Datei die w\"{a}hrend Entwicklungstests von Bacula benutzt wird,
1558 es wird ein Festplatten-Volume gelabelt, ein Job gestartet und die gesicherten Dateien
1563 ./bconsole -c ./bconsole.conf <<END_OF_DATA
1566 @output /tmp/log1.out
1567 label volume=TestVolume001
1574 @output /tmp/log2.out
1585 Die Ausgaben des Jobs werden dabei zu /tmp/log1.out und die Ausgaben der Wiederherstellung
1586 zu /tmp/log2.out umgeleitet. Um automatisch zu \"{u}berpr\"{u}fen, ob beides erfolgreich war,
1587 werden die beiden Log-Dateien mit diesem Script kontrolliert:
1591 grep "^Termination: *Backup OK" /tmp/log1.out
1593 grep "^Termination: *Restore OK" /tmp/log2.out
1598 \section{Volumes zu einem Pool hinzuf\"{u}gen}
1599 \index[general]{Volumes zu einem Pool hinzuf\"{u}gen}
1600 \index[general]{Pool!Volumes hinzuf\"{u}gen}
1602 Fall Sie das {\bf label}-Kommando zum labeln eines Volumes benutzt haben,
1603 wird es automatisch zu dem angegebenen Pool hinzugef\"{u}gt.
1604 Alternativ k\"{o}nnen Sie aber auch Volumes zu einem Pool hinzuf\"{u}gen ohne sie zu labeln.
1605 Diese k\"{o}nnen dann sp\"{a}ter je nachdem gelabelt werden, wie Bacula sie ben\"{o}tigt.
1607 Die folgenden Informationen m\"{u}ssen Sie vor dem hinzuf\"{u}gen haben:
1610 \item Den Namen des Pools (normalerweise "`Default"')
1611 \item Den Media-Typ wie er in dem Storage-Eintrag der Director-Dienst-Konfiguration angegeben ist
1613 \item Die Anzahl und Namen der Volumes die Sie erstellen m\"{o}chten
1616 Um die Volumes zu dem Pool hinzuzuf\"{u}gen, k\"{o}nnen Sie dann beispielweise
1617 folgende Kommandos ausf\"{u}hren:
1622 Enter name of Pool to add Volumes to: Default
1623 Enter the Media Type: DLT8000
1624 Enter number of Media volumes to create. Max=1000: 10
1625 Enter base volume name: Save
1626 Enter the starting number: 1
1627 10 Volumes created in pool Default
1632 Zur Kontrolle k\"{o}nnen Sie sich dann die neuen Volumes anzeigen lassen:
1636 *list media pool=Default
1637 +-------+----------+---------+---------+-------+------------------+
1638 | MedId | VolumeNa | MediaTyp| VolStat | Bytes | LastWritten |
1639 +-------+----------+---------+---------+-------+------------------+
1640 | 11 | Save0001 | DLT8000 | Append | 0 | 0000-00-00 00:00 |
1641 | 12 | Save0002 | DLT8000 | Append | 0 | 0000-00-00 00:00 |
1642 | 13 | Save0003 | DLT8000 | Append | 0 | 0000-00-00 00:00 |
1643 | 14 | Save0004 | DLT8000 | Append | 0 | 0000-00-00 00:00 |
1644 | 15 | Save0005 | DLT8000 | Append | 0 | 0000-00-00 00:00 |
1645 | 16 | Save0006 | DLT8000 | Append | 0 | 0000-00-00 00:00 |
1646 | 17 | Save0007 | DLT8000 | Append | 0 | 0000-00-00 00:00 |
1647 | 18 | Save0008 | DLT8000 | Append | 0 | 0000-00-00 00:00 |
1648 | 19 | Save0009 | DLT8000 | Append | 0 | 0000-00-00 00:00 |
1649 | 20 | Save0010 | DLT8000 | Append | 0 | 0000-00-00 00:00 |
1650 +-------+----------+---------+---------+-------+------------------+
1655 Bitte beachten Sie, dass die Console automatisch eine fortlaufende Nummer
1656 an den Volume-Namen (Save in diesem Beispiel) anh\"{a}ngt. Wenn Sie diese Nummern
1657 nicht angeh\"{a}ngt haben m\"{o}chten, m\"{u}ssen Sie auf die Frage "`Enter number
1658 of Media volumes to create. Max=1000:"' mit 0 (Null) antworten. Dann wird nur ein
1659 einzelnes Volume, mit dem von Ihnen eingegebenen Namen, erzeugt.