%%
%%

\section*{Was ist Bacula?}
\label{_ChapterStart41}
\index[general]{Bacula!Was ist }
\index[general]{Was ist Bacula? }
\addcontentsline{toc}{section}{Was ist Bacula?}


{\bf Bacula} ist ein System von Computerprogrammen, mit denen Sie 
(oder der System-Administrator) in der Lage sind, Computerdaten innerhalb eines 
heterogenen Netzwerkes zu sichern, die Sicherungen wiederherzustellen und diese zu überprüfen. Bacula kann auch auf einem einzigen Computer laufen und auf verschiedene Arten von Medien wie Bänder oder CDs sichern.
Technisch gesprochen ist es ein netzwerkfähiges
Sicherungsprogramm mit Client/Server-Architektur. 
Bacula ist leistungsfähig und vergleichsweise einfach zu benutzen. 
Dabei hat es viele anspruchsvolle Funktionen zur Verwaltung der Sicherung,
die das Auffinden und die Wiederherstellung beschädigter oder verlorener 
Dateien erleichtern. Durch seinen modularen Aufbau lässt es sich jedem System
anpassen: Vom Einzelplatzrechner bis zu einem großen System mit hunderten von
Computern, die über ein weiträumiges Netzwerk verteilt sind. 
\subsection*{Wer benötigt Bacula?}
\index[general]{Wer benötigt Bacula? }
\index[general]{Bacula!Wer benötigt }
\addcontentsline{toc}{subsection}{Wer benötigt Bacula?}


Wenn Sie momentan Programme wie  {\bf tar}, {\bf dump}, oder {\bf
bru} zur Datensicherung verwenden und eine Netzwerklösung, größere Flexibilität
oder einen Verzeichnis-Dienst suchen, wird Bacula wahrscheinlich die
zusätzlichen Funktionen zur Verfügung stellen, die Sie suchen. Wenn Sie dagegen
ein UNIX-Neuling sind oder keine weitergehenden Erfahrung mit
anspruchsvollen Sicherungsprogrammen haben, raten wir von Bacula ab, da es in
der Einrichtung und der Benutzung sehr viel komplizierter ist als z.B. 
{\bf tar} oder {\bf dump}. 

Wenn Bacula wie die oben beschriebenen einfachen Programme funktionieren und
nur ein Band in Ihrem Laufwerk beschreiben soll, wird Ihnen der Umgang
mit Bacula kompliziert vorkommen. Bacula ist so entworfen, dass es Ihre
Daten nach von Ihnen festgelegten Regeln sichert, was bedeutet, dass die
Wiederverwendung eines Bandes nur die letzte Wahl sein kann. Natürlich ist es möglich, Bacula dazu zu bringen, jedes beliebige Band im Laufwerk zu beschreiben, jedoch ist es einfacher und wirkungsvoller hierfür ein anderes Programm zu
verwenden.
Wenn Sie {\bf Amanda} verwenden und ein Sicherungsprogramm suchen, das auf
mehrere Volumes schreiben kann (also nicht durch die Speicherkapazität Ihres
Bandlaufwerkes beschränkt ist) wird Bacula wahrscheinlich Ihren Bedürfnissen
entsprechen. Viele unserer Benutzer finden außerdem, dass Bacula
einfacher zu konfigurieren und zu benutzen ist als entsprechende andere Programme.

Wenn Sie gegenwärtig ein anspruchsvolles kommerzielles Programm wie ``Legato'',
``Networker'', ``ARCserveIT'', ``Arkeia'', oder ``PerfectBackup+'' verwenden,
könnte Sie Bacula interessieren, da es viele Eigenschaften und Funktionen dieser Programme hat,  dabei aber als freie Software unter der GNU Software Lizenz Version 2 verfügbar
ist. 

\newpage

\subsection*{Bacula Komponenten oder Dienste}
\index[general]{Bacula Komponenten oder Dienste }
\index[general]{Dienste!Bacula Komponenten oder }
\addcontentsline{toc}{subsection}{Bacula Komponenten oder Dienste}


Bacula besteht aus den folgenden fünf Hauptkomponenten bzw. Diensten: 

\addcontentsline{lof}{figure}{Bacula Applications}
\includegraphics{./bacula-applications.eps} 
(Dank an Aristedes Maniatis für diese und die folgende Grafik) 

\begin{itemize}
\item 
   \label{DirDef}
   Der {\bf Bacula Director}-Dienst ist das Programm, das alle Sicherungs-, Wiederherstellungs-, Verifizierungs- und Archivierungsvorgänge überwacht. DerSystemadministrator verwendet den Bacula Director, um die Zeitpunkte der Sicherungen festzulegen und Dateien wiederherzustellen. Näheres hierzu im Dokument ``Director Services Daemon Design'' im ``Bacula Developer's Guide''.
Der Director läuft als Dämon bzw. Dienst (also im Hintergrund). 
\item 
   \label{UADef}
   Der {\bf Bacula Console}-Dienst ist jenes Programm, welches es einem
Systemadministrator oder Benutzer erlaubt, mit dem {\bf Bacula Director} zu
kommunizieren (siehe oben). Zur Zeit ist die Bacula Console in drei Versionen75%
verfügbar. Die erste und einfachste ist das Consolen Programm in einer
Shell zu starten (also eine TTY-Schnittstelle). Für die meisten
Systemadministratoren ist dies völlig angemessen. Die zweite Möglichkeit ist ein
grafisches GNOME-Interface, das weit davon entfernt
ist, vollständig zu sein, aber schon ganz gut funktioniert und die meisten
Möglichkeiten bietet, die auch die Shell-Konsole hat. Die dritte
Version ist eine grafische wxWidgets-Benutzeroberfläche, über die Daten
interaktiv wiederhergestellt werden können. Auch sie hat die meisten Funktionen
der Shell-Konsole, bietet eine Befehlsvervollständigung per Tabulatorentaste
und  Kontexthilfe während der Befehlseingabe. 
Näheres hierzu im Kapitel \ilink{Bacula Console
Design Document}{_ChapterStart23}. 
\item 
   \label{FDDef}
   {\bf Bacula File} (Datei)-Dienste (bzw. Client-Programme) sind jene
Programme, die auf den Rechnern installiert sind, deren Daten gesichert
werden sollen. Sie sind je nach Betriebssystem verschieden, immer aber
verantwortlich für die Auslieferung der Daten und deren Attribute, die der
Director von ihnen anfordert. Die Datendienste sind auch für den
betriebssystemabhängigen Teil der Wiederherstellung der Daten und deren
Attribute im Falle einer Wiederherstellung zuständig. Näheres
hierzu im Dokument ``File Services Daemon Design'' im ``Bacula Developer's
Guide''. Auf dem Rechner, dessen Daten gesichert werden sollen, läuft dieses
Programm als Dämonprozess. Der File-Dämon wird in dieser Dokumentation auch als
``Client'' bezeichnet (zum Beispiel in den Konfigurationsdatei von Bacula).
Ausser den Unix/Linux File-Dämonen gibt es einen File-Dämon für Windows
(der in der Regel als kompiliertes Programm erhältlich ist). Der File-Dämon für Windows läuft
unter allen gängigen Windows-Versionen (95, 98, Me, NT, 2000, XP). 
\item 
   \label{SDDef}
   Den {\bf Bacula Storage} (Sicherungs)-Dienst leisten Programme, die
Sicherung und Wiederherstellung der Dateien und ihrer Attribute auf das
physikalische Sicherungsmedium bzw. die \textbf{Volumes} leisten. Der Storage-Dämon ist also für das
Beschreiben und Lesen Ihrer Bänder (oder eines anderen Sicherungsmediums wie
z.B. Dateien) zuständig. Näheres hierzu im Kapitel ``Storage Services Daemon
Design'' im ``Bacula Developer's Guide''. Der Sicherungsdienst läuft als
Dämonprozess auf dem Rechner, der über das Datensicherungsgerät verfügt (in der
Regel ein Bandlaufwerk). 
\item 
   \label{DBDefinition}
   Die {\bf Catalog} (Verzeichnis)-Dienste werden von Programmen
geleistet, die für die Wartung der Datieindizes und \textbf{Volume}-Datenbanken
aller gesicherten Dateien zuständig sind. Über einen Verzeichnis-Dienst kann der
Systemadministrator oder Benutzer jede gewünschte Datei rasch wiederfinden
und wiederherstellen. Durch den Verzeichnisdienst unterscheidet sich Bacula von
einfachen Sicherungsprogrammen wie ``tar'' oder ``bru'', da dieser
Dienst die Aufzeichnung aller verwendeten \textbf{Volumes}, aller gelaufener
Sicherungen und aller gesicherter Dateien pflegt und dadurch eine
effiziente Wiederherstellung und eine Verwaltung der Volumes erlaubt. Bacula
unterstützt momentan drei verschiedene Datenbanksysteme, MySQL, PostgreSQL
und SQLite, von denen eines vor der Kompilierung von {\bf Bacula} ausgewählt sein
muss. 

Die drei Datenbanksysteme (MySQL, PostgreSQL und SQLite), die z.Z. unterstützt
werden, haben eine ganze Reihe von Besonderheiten wie z.B. schnelle Indizierung,
Baumsuche und Sicherheitsfunktionen. Wir planen die Unterstützung weiterer
größerer SQL-Datenbanksysteme, doch hat die momentane Bacula-Version nur
Schnittstellen zu MySQL, PostgreSQL und SQLite. Näheres hierzu im Kapitel
\ilink{``Catalog Services Design Document''}{_ChapterStart30}.  

Die RPM-Archive von MySQL und PostgreSQL sind Teil der RedHat-Linux- und mehrerer
anderer Distributionen, zudem ist die Erstellung der RPMs aus den Quelldateien
ganz einfach. Näheres hierzu im Kapitel \ilink{``Installation und Konfiguration
von MySQL''}{_ChapterStart} in diesem Handbuch. Weitere Informationen zu MySQL
im Internet: \elink{www.mysql.com}{http://www.mysql.com}.
Zu PostgreSQL lesen Sie bitte das Kapitel \ilink{``Installation und
Konfiguration von PostgreSQL''}{_ChapterStart10} in diesem Dokument.
Weiter Informationen zu PostgreSQL finden Sie hier:
\elink{www.postgresql.org}{http://www.postgresql.org}.  

Die Konfiguration und Installation eines SQLite-Datenbanksystems ist noch
einfacher. Einzelheiten dazu im Kapitel \ilink{``Installation und Konfiguration
von SQLite''}{_ChapterStart33} in diesem Handbuch. 
\item 
   \label{MonDef}
   Der {\bf Bacula Monitor}-Dienst ist das Programm, welches es dem
Administrator oder Benutzer erlaubt, den aktuellen Zustand des {\bf Bacula
Directors}, der {\bf Bacula File Dämonen} und der {\bf Bacula Storage Dämonen}
zu beobachten (siehe oben). Zur Zeit ist hierfür nur eine GTK+-Version
verfügbar, die auf Gnome und KDE aufsetzt (oder jedem anderen Fenstermanager,
der den Standard von FreeDesktop.org für das System-Tray unterstützt). 
\end{itemize}

Um erfolgreich sichern und wiederherstellen zu können, müssen die folgenden
vier Dämonprozesse konfiguriert und gestartet sein: Der Director-Dämon, der
File-Dämon, der Storage-Dämon und MySQL, PostgreSQL oder SQLite. 
%vonmir bf!
\newpage 

\subsection*{Die Bacula Konfiguration}
\index[general]{Konfiguration!Die Bacula }
\index[general]{Die Bacula Konfiguration }
\addcontentsline{toc}{subsection}{Die Bacula Konfiguration}

Damit sich Bacula in Ihrem System zurechtfindet und es weiss welche
Client-Rechner wie zu sichern sind, müssen mehrere Konfigurationsdateien
erstellt werden, die ``Resourcen'' (bzw. ``Objekte'') enthalten. Die
folgende Abbildung gibt hierzu eine Übersicht:

\addcontentsline{lof}{figure}{Bacula Objects}
\includegraphics{./bacula-objects.eps} 

\subsection*{Die in diesem Dokument verwendeten Konventionen}
\index[general]{Die in diesem Dokument verwendeten Konventionen }
\index[general]{Dokument!verwendete Konventionen}
\addcontentsline{toc}{subsection}{Die in diesem Dokument verwendeten
Konventionen}

{\bf Bacula} ist in der Entwicklung und daher wird dieses Handbuch nicht in
jedem Fall mit dem Stand des Programmcodes übereinstimmen. Steht in diesem
Handbuch vor einem Abschnitt ein Stern (*), bedeutet dies, dass das Beschriebene
noch nicht implementiert ist. Die Kennzeichnung durch ein Pluszeichen (+)
bedeutet, dass die Funktion möglicherweise teilweise implementiert ist.

Wenn Sie dieses Handbuch als Teil eines offiziellen Release der
Software lesen, ist diese Kennzeichnung verläßlich. Lesen Sie hingegen die
Online-Version dieses Handbuches auf \elink{ www.bacula.org}{http://www.bacula.org}, denken Sie
bitte daran, dass hier die aktuelle Entwicklungsversion (wie sie im CVS
vorhanden ist) beschrieben wird. In beiden Fällen wird aber das Handbuch dem
Code ein Stückchen hinterherhinken. 

\subsection*{Quick Start}
\index[general]{Quick Start }
\index[general]{Start!Quick }
\addcontentsline{toc}{subsection}{Quick Start}

Um Bacula schnell zu konfigurieren und zum Laufen zu bringen, empfehlen wir,
zuerst den untenstehenden Abschnitt mit den Fachausdrücken und das nächste
Kapitel \ilink{``Baculas gegenwärtiger Zustand''}{_ChapterStart2} durchzusehen.

Lesen Sie dann das Kapitel \ilink{``Mit Bacula beginnen''}{_ChapterStart37}, das
eine kurze Übersicht darüber gibt, wie man Bacula startet. Lesen 
Sie danach das Kapitel über \ilink{``Die Installation von
Bacula''}{_ChapterStart17}, dann \ilink{``Die Konfiguration
von Bacula''}{_ChapterStart16} und schließlich das Kapitel \ilink{
``Bacula in Betrieb nehmen''}{_ChapterStart1}. 

\subsection*{Terminologie}
\index[general]{Terminologie }
\addcontentsline{toc}{subsection}{Terminologie}

Um die Kommunikation über diese Projekt zu erleichtern, sind hier die
verwendeten Begriffe erläutert 

\begin{description}

\item [Administrator]
   \index[fd]{Administrator }
   Die Person bzw. die Personen, die für die Pflege des Bacula-Systems
verantwortlich sind.

\item [Backup]
   \index[fd]{Backup }
   Wir verwenden den Ausdruck {\bf Backup} (Sicherung) wenn wir von einem
Bacula-Job sprechen, bei dem Dateien gesichert werden.

\item [Bootstrap File]
   \index[fd]{Bootstrap File }
   Das bootstrap file (Bootstrap-Datei) ist eine ASCII-Datei, die in kompakter
Form jene Befehle enthält, mit denen Bacula oder das eigenständige
Dateiextrahierungswerkzeug {\bf bextract} den Inhalt eines oder mehrerer
\textbf{Volumes} wiederherstellen kann, wie z.B. einen vorher gesicherten Systemzustand.
Mit einer Bootstrap-Datei kann Bacula Ihr System wiederherstellen, ohne auf
einen \textbf{Catalog} angewiesen zu sein. Aus einem \textbf{Catalog} kann eine Bootstrap-Datei
erzeugt werden, um jede gewünschte Datei/Dateien zu entpacken. 

\item [Catalog]
   \index[fd]{Catalog }
   Der \textbf{Catalog} (das Verzeichnis) wird verwendet, um zusammenfassene
Informationen über Jobs, Clients und Dateien zu speichern und Informationen
darüber, in welchem \textbf{Volume} oder in welchen \textbf{Volumen} dies geschehen ist. Die
Informationen, die im \textbf{Catalog} gespeichert sind, ermöglichen es dem Administrator
bzw. Benutzer zu bestimmen, welche Jobs gelaufen sind, geben Auskunft über ihren
Status und wichtige Eigenschaften der gesicherten Dateien. Der Catalog ist eine
``online resource'', enthält aber nicht die Daten der gesicherten Dateien. Vieles
der \textbf{Catalog}-Informationen ist auch in den \textbf{Volumes} (z.B. auf den Bändern)
gespeichert. Natürlich sind auf den Bändern auch die Kopien der Dateien und
deren Attribute (siehe unten).  

Der \textbf{Catalog} ist ein Besonderheit Baculas, das es von einfachen Backup- und
Archiv-Programmen wie {\bf dump} und {\bf tar} unterscheidet.  

\item [Client]
   \index[fd]{Client }
   In Baculas Terminologie bezeichnet das Wort Client jenen Rechner,
dessen Daten gesichert werden. Client ist auch ein anderes Wort für
den File-Dienst oder File-Dämon, der oft auch nur mit FD bezeichnet wird.
Clients werden in einer Resource der Konfigurationsdatei definiert.

\item [Console]
   \index[fd]{Console }
   Die Console(Konsole) ist ein Programm, das die Schnittstelle zum Director
bildet und über welches der Benutzer oder Systemadministrator Bacula
steuern kann.

\item [Daemon]
   \index[fd]{Daemon }
   (Dämonprozess) ist ein Unix-Fachausdruck für ein Programm, das
ständig im Hintergrund läuft um spezielle Aufgaben
auszuführen. Auf Windows- und manchen Linux-Systemen werden 
Dämonprozesse {\bf Services}(Dienste) genannt. 

\item [Directive]
   \index[fd]{Directive }
   Der Ausdruck directive (Anweisung) bezeichnet eine einzelne Angabe oder
eine Niederschrift innerhalb einer Resource einer Konfigurationsdatei, welche
einen speziellen Sachverhalt definiert. Beispielsweise definiert die {\bf
Name}-directive den Namen einer Resource. 

\item [Director]
   \index[fd]{Director }
   Baculas wichtigster Dämonprozess, der alle Aktivitäten des Bacula-Systems
zeitlich festlegt und beaufsichtigt. Gelegentlich bezeichnen wir ihn als
DIR. 

\item [Differential]
   \index[fd]{Differential }
   Differentiell ist eine Sicherung, wenn sie alle Dateien einbezieht, die
seit Beginn der letzten Vollsicherung geändert wurden. Beachten Sie bitte, dass
dies von anderen Sicherungsprogrammen möglicherweise anders definiert wird.

\item [File Attributes]
   \index[fd]{File Attributes }
   File Attributes (Dateiattribute) sind all diejenigen Informationen, die
nötig sind, um eine Datei zu identifizieren. Dazu gehören alle ihre
Eigenschaften wie Größe, Zeitpunkt der Erzeugung, Zeitpunkt der letzten
Änderung, Berechtigungen, usw. Im Normalfall wird der Umgang mit den Attributen vollständig von Bacula übernommen, so dass sich der Benutzer darüber keine
Gedanken machen muss. Zu den Attributen gehört nicht der Inhalt der
Datei. 

\item [File Daemon]
   \index[fd]{File Daemon }
   Derjenige Dämonprozess, welcher auf dem Client-Computer läuft, dessen Daten
gesichert werden sollen. Wird manchmal auch als File-Service (Datendienst),
Client-Service (Client-Dienst) oder als FD bezeichnet.


   \label{FileSetDef}
 \item [FileSet]
\index[fd]{a name }
Ein FileSet (Zusammenstellung von Dateien) ist eine Resource einer
Konfigurationsdatei, die festlegt, welche Dateien gesichert werden sollen.
Sie besteht aus einer Liste mit eingeschlossenen Dateien oder
Verzeichnissen, einer Liste mit ausgeschlossenen Dateien und Informationen
darüber, wie diese Dateien zu sichern sind (komprimiert, verschlüsselt,
signiert). Näheres hierzu im Abschnitt \ilink{``Definition der FileSet
Resource''}{FileSetResource} im \textbf{Director}-Kapitel dieses Dokuments. 

\item [Incremental]
   \index[fd]{Incremental }
   Inkrementiell ist eine Sicherung dann, wenn sie alle Dateien einbezieht, die
seit Beginn der letzten vollen, differentiellen oder inkrementiellen Sicherung
geändert wurden. Normalerweise wird dies entweder durch die {\bf
Level}-Direktive innerhalb der Definition einer \textbf{Job Resource} oder in
einer \textbf{Schedule}-Resource festgelegt. 


   \label{JobDef}
\item [Job]
\index[fd]{a name }
Ein Bacula-Job ist eine Konfigurations-Resource, die die Art und
Weise definiert, in der Bacula die Daten eines bestimmten Client-Rechners
sichert oder wiederherstellt. Sie besteht aus den Definitionen des {\bf Type}
(Sicherung, Wiederherstellung, Überprüfung, usw.), des {\bf Level} (voll,
inkrementiell,...), des {\bf FileSet} und des Speicherorts ({\bf Storage}) an
welchem die Dateien gesichert werden sollen (Speichergerät, Media-Pool). Näheres
hierzu im Abschnitt \ilink{``Definition der Job-Resource''
}{JobResource} im \textbf{Director}-Kapitel dieses Dokuments. 

\item [Monitor]
   \index[fd]{Monitor }
   Dieses Programm hat eine Schnittstelle zu allen Dämonprozessen, um dem
Benutzer oder Systemadministrator die Beobachtung von Baculas Zustand zu
ermöglichen.

\item [Resource]
   \index[fd]{Resource }
   Eine \textbf{Resource} ist ein Teil einer Konfigurationsdatei, die eine
bestimmte Informationseinheit definiert, die Bacula verfügbar ist. Eine
\textbf{Resorce} enthält mehrere Direktiven (einzelne
Konfigurations-Anweisungen). Die {\bf Job}-Resource beispielsweise definiert
alle Eigenschaften eines bestimmten Jobs: Name, Zeitplan, Volume-Pool, Art der
Sicherung, Level der Sicherung...

\item [Restore]
   \index[fd]{Restore }
   ist eine \textbf{Resource} innerhalb einer Konfigurationsdatei, die den
Vorgang der Wiederherstellung einer verlorenen oder beschädigten Datei von
einem Sicherungsmedium beschreibt. Es ist der umgekehrte Vorgang wie bei
einer Sicherung, außer dass in den meisten Fällen bei einem \textbf{Restore} nur
einige wenige Dateien wiederhergestellt werden, während bei einer Sicherung
normalerweise alle Dateien eines Systems gesichert werden. Selbstverständlich
kann nach dem Ausfall einer Festplatte Bacula dazu benutzt werden, ein
vollständiges \textbf{Restore} aller im System vorhandenen Dateien auszuführen.

\item [Schedule]
   \index[fd]{Schedule }
   Ein \textbf{Schedule} (Zeitplan) ist eine \textbf{Resource} innerhalb einer
Konfigurationsdatei, die definiert, wann ein \textbf{Bacula-Job} ausgeführt
wird. Hierzu benutzt die \textbf{Job-Resource} den Namen des \textbf{Schedules}.
Näheres hierzu im Abschnitt \ilink{``Definition
der Schedule-Resource''}{ScheduleResource} im
``Director''-Kapitel diese Handbuches.

\item [Service]
   \index[fd]{Service }
   (Dienst) ist die Bezeichnung für einen {\bf Daemon}(Dämonprozess) unter
Windows (siehe oben). Diese Bezeichnung wird in letzter Zeit auch häufig in
Unix-Umgebungen benutzt.

\item [Storage Coordinates]
   \index[fd]{Storage Coordinates }
   Diejenige Information, die der \textbf{Storage-Dienst} zurückgibt und eine
Datei eindeutig im Sicherungsmedium lokalisiert. Sie besteht aus einem Teil der
zu jeder gespeicherten Datei gehört und einem Teil, der zum ganzen Job
gehört.
Normalerweise wird diese Information im \textbf{Catalog} gespeichert, so dass der
Benutzer keine besonderen Kenntnisse der \textbf{Storage Coordinates} braucht.
Zu den \textbf{Storage Coordinates} gehören die Dateiattribute und der eindeutige Ort der Sicherung auf dem Sicherungs-Volume. 

\item [Storage Daemon]
   \index[fd]{Storage Daemon }
   Der \textbf{Storage daemon} (Speicherdämon), manchmal auch mit SD bezeichnet,
ist jenes Programm, das die Attribute und die Daten auf ein Sicherungs-Volume
schreibt (normalerweise ein Band oder eine Festplatte).

\item [Session]
   \index[sd]{Session } (Sitzung) bezeichnet in der Regel die interne Kommunikation
zwischen dem File-Dämon und dem Storage-Dämon. Der File-Dämon eröffnet
eine {\bf Session} mit dem Storage-Dämon, um ein \textbf{FileSet} zu sichern
oder wiederherzustellen. Jede \textbf{Session} entspricht einem \textbf{Bacula-Job} (siehe  oben). 

\item [Verify]
   \index[sd]{Verify }
   Ein \textbf{Verify} ist ein Job, bei dem die aktuellen Dateiattribute mit
jenen verglichen werden, die zuvor im \textbf{Bacula-Catalog}
hinterlegt worden sind. Diese Funktion kann verwendet werden, um Änderungen an
wichtigen Systemdateien zu erkennen und ist damit {\bf Tripwire} ähnlich. Einer
der größeren Vorteile dieser Funktionalität ist es, dass es genügt,
auf dem Rechner, den man schützen will, den \textbf{File-Dämon} laufen zu haben.
\textbf{Director}, \textbf{Storage-Dämon} und der \textbf{Catalog} sind auf
einem anderen Rechner installiert. Wenn der Server dann gefährdet wird, ist es
äußerst unwahrscheinlich, dass die Datenbank mit den Verifikationen davon
mitbetroffen ist.

\textbf{Verify} kann auch zur Überprüfung benutzt werden, ob die Daten des
zuletzt gelaufenen Jobs mit denen übereinstimmen, welche davon im \textbf{Catalog}
gespeichert ist (es werden also die Dateiattribute verglichen). *\textbf{Verify}
vergleicht auch den Inhalt eines Volumes mit den Originaldateien auf der
Platte. 

\item [*Archive]
   \index[fd]{*Archive }
   Eine \textbf{Archive}-Funktion wird nach einer Sicherung durchgeführt. Dabei 
werden die \textbf{Volumes}, in denen die Daten gesichert sind, der aktiven
Benutzung entzogen, als ``Archived'' gekennzeichnet und für weitere
Sicherungen nicht mehr verwendet. Alle Dateien, die ein archiviertes
\textbf{Volume} enthält, werden aus dem Catalog entfernt. NOCH NICHT
IMPLEMENTIERT.

\item [*Update]
   \index[fd]{*Update }
   Mit der \textbf{Update}-Funktion werden die Dateien auf dem entfernten
Rechner durch die entsprechenden vom Host-Rechner ersetzt. Dies entspricht der
Funktionalität von {\bf rdist}. NOCH NICHT IMPLEMENTIERT. 

\item [Retention Period]
   \index[fd]{Retention Period }
   Bacula kennt verschiedene Arten von \textbf{Retention Periods} (Zeitspannen
während derer etwas bewahrt wird, Aufbewahrungszeiten). Die wichtigsten sind
die {\bf File Retention Period}, die {\bf Job Retention Period} und die {\bf
Volume Retention Period}. Jede dieser Retention-Periods bezieht sich auf die
Zeit, während der bestimmte Aufzeichnungen in der \textbf{Catalog}-Datenbank
gehalten werden. Dies sollte nicht mit jener Zeit verwechselt werden während
der Daten eines Volume gültig sind. 

Die \textbf{File Retention Period} bestimmt wie lange die Einträge zu den
Dateien in der \textbf{Catalog}-Datenbank gehalten werden. Diese Zeitspanne ist
wichtig, da diese Einträge bei weitem den größten Teil des Speicherplatzes in
der Datenbank belegen. Daher muss gewährleistet sein, dass überflüssige oder
obsolete Einträge regelmäßig aus der Datenbank entfernt werden (hierzu Näheres im Abschnitt zum {\bf Retention}-Befehl in der Beschreibung der \textbf{Console}-Befehle).

Die \textbf{Job Retention Period} ist die Zeitspanne, während der Einträge zu
den Jobs in der Datenbank gehalten werden. Beachten Sie, dass alle Dateieinträge
mit dem Job, mit dem sie gesichert wurden, verbunden sind. Die Einträge zu den
Dateien können gelöscht sein, während die Aufzeichnungen zu den Jobs erhalten
bleiben. In diesem Fall wird man Informationen über gelaufene Sicherungsjobs
haben, jedoch keine Einzelheiten über die Dateien, die dabei gesichert
wurden. Normalerweise werden mit dem Löschen eines
Job-Eintrags auch alle seine Aufzeichnungen zu den Dateien gelöscht.

Die \textbf{Volume Retention Period} bestimmt die Mindestzeit, während der
ein bestimmtes \textbf{Volume} erhalten bleibt, bevor es wiederverwendet wird.
Bacula wird in der Regel niemals ein \textbf{Volume} überschreiben, das als
einziges die Sicherungskopie einer bestimmten Datei enthält. Im Idealfall wird
der \textbf{Catalog} für alle benutzten \textbf{Volume} die Einträge aller
gesicherten Daeien enthalten. Wenn ein \textbf{Volume} überschrieben wird,
werden die Dateieeinträge, die zuvor in ihm gespeichert waren aus dem
\textbf{Catalog} entfernt. Gibt es allerdings einen sehr großen Pool von
\textbf{Volumes} oder gibt es \textbf{Volumes}, die nie überschrieben werden,
kann die \textbf{Catalog}-Datenbank riesig werden. Um den \textbf{Catalog} in
einer handhabbaren Größe zu halten, sollten Informationen zu den Sicherungen
nach der definierten \textbf{File Retention Period} aus ihm entfernt werden.
Bacula hat Mechanismen, um den \textbf{Catalog} entsprechend der
definierten \textbf{Retention Periods} automatisch zu bereinigen.

\item [Scan]
   \index[sd]{Scan }
   Bei einer \textbf{Scan}-Operation wird der Inhalt eines oder mehrerer
\textbf{Volumes} durchsucht. Diese \textbf{Volumes} und die Informationen über
die Dateien, welche sie enthalten, werden wieder in den Bacula-\textbf{Catalog}
eingetragen. Danach können die Dateien in diesen \textbf{Volumes} auf
einfache Weise wiederhergestellt werden. Diese Funktion ist teilweise
hilfreich, wenn bestimmte \textbf{Volumes} oder \textbf{Jobs} ihre \textbf{Retention Period}
überschritten haben und aus dem \textbf{Catalog} entfernt worden sind. Um die
Daten von den \textbf{Volumes} in die Datenbank einzulesen, wird das Programm
{\bf bscan} verwendet. Näheres hierzu im Abschnitt \ilink{bscan}{bscan} im Kapitel ``Bacula Hilfsprogramme'' dieses Handbuches.

\item [Volume]
   \index[sd]{Volume }
   Ein \textbf{Volume} ist eine Einheit, auf der gesichert wird, normalerweise
ein Band oder eine benannte Datei auf der Festplatte auf welche/s Bacula die
Daten einer oder mehrerer Sicherungsjobs speichert. Alle \textbf{Volumes}
erhalten von Bacula eine digitale Kennzeichnung, so dass Bacula jederzeit weiß,
welches \textbf{Volume} es tatsächlich liest. (Normalerweise sollte es mit
Dateien auf der Festplatte keine Verwechslungen geben, doch bei Bändern mountet
man aus Versehen leicht das Falsche).
\end{description}

\subsection*{Was Bacula nicht ist}
\index[general]{Was Bacula nicht ist }
\index[general]{nicht ist!Was Bacula }
\addcontentsline{toc}{subsection}{Was Bacula nicht ist}

{\bf Bacula} ist ein Sicherungs-, Wiederherstellungs- und Verifikationsprogramm, aber von sich aus noch kein komplettes Rettungsprogramm für den Katastrophenfall. Allerdings kann
Bacula Teil eines Rettungsprogramms sein, falls Sie sorgfältig planen und die
Anweisungen im Kapitel \ilink{Disaster Recovery}{_ChapterStart38} dieses
Handbuches beachten.

Bei sorgfältiger Planung, wie sie im Kapitel ``Disaster Recovery'' dargestellt
ist, kann {\bf Bacula} ein wesentlicher Bestandteil eines
Rettungssystems sein. Wenn Sie zum Beispiel eine Bootdiskette
erstellt haben, dazu eine Bacula-Rettungs-CD, auf der sie die aktuellen
Partitionsdaten Ihrer Festplatte gespeichert haben und eine komplette Bacula
Sicherung vorhalten, ist es möglich, Ihr System auf einer leeren Festplatte
wieder herzustellen.

Wenn Sie die den Befehl {\bf WriteBootstrap} in einem Ihrer Sicherungs-Jobs
verwendet oder auf irgend eine andere Art eine gültige
\textbf{Bootstrap}-Datei gesichert haben, werden Sie damit in der Lage sein, die notwendigen Dateien zu entpacken (ohne den \textbf{Catalog} zu verwenden
oder von Hand nach Dateien suchen zu müssen). 

\newpage

\subsection*{Interaktionen zwischen den Bacula-Diensten}
\index[general]{Interaktionen zwischen den Bacula-Diensten }
\index[general]{Diensten!Interaktionen zwischen den Bacula- }
\addcontentsline{toc}{subsection}{Interaktionen zwischen den Bacula-Diensten}

Das untenstehende Diagramm zeigt typische Interaktionen zwischen den einzelnen
Bacula-Diensten bei einem Sicherungs-Job. Jeder Block steht ungefähr für einen
eigenen Prozess (normalerweise ein Dämon). Im großen und ganzen hat der
Director den Überblick über die Aktionen und pflegt die
\textbf{Catalog}-Datenbank.

\addcontentsline{lof}{figure}{Interaktionen zwischen den Bacula-Diensten}
\includegraphics{./flow.eps} 
