changed verbatim to alltt, now it is possible to use special characters like öäü and textformating {\bf ... } inside these blocks
\usepackage{hyperref}
\usepackage{url}
\usepackage{german}
-
+\usepackage{alltt}
\makeindex
\newindex{general}{idx}{ind}{General Index}
\parindent 0pt
\title{\includegraphics{./bacula-logo.eps} \\ \bigskip
- \Huge{Bacula Catalog-Datenbank-Handbuch}
+ \Huge{Bacula Katalog-Datenbank-Handbuch}
\begin{center}
\large{Es kommt bei Nacht und saugt die lebenswichtigen Daten aus Ihren Computern.}
\end{center}
\author{Kern Sibbald}
\date{\vspace{1.0in}\today \\
- Dieses Handbuch dokumentiert Bacula in der Version \input{version} \\
+ Dieses Handbuch dokumentiert Bacula Version \input{version} \\
\vspace{0.2in}
Copyright \copyright 1999-2007, Free Software Foundation Europe
e.V. \\
\clearpage
\tableofcontents
\clearpage
-\listoffigures
-\clearpage
+%\listoffigures
+%\clearpage
\listoftables
\clearpage
h\"{a}ngt von der Anzahl der Jobs und der Menge der dabei gesicherten Dateien ab.
Durch das L\"{o}schen von Eintr\"{a}gen im Katalog kann Platz geschaffen werden f\"{u}r
neue Eintr\"{a}ge der folgenden Jobs. Durch regelm\"{a}{\ss}iges l\"{o}schen alter abgelaufener
-Daten (\"{a}lter als durch die Aufbewahrungszeitr\"{a}ume (Retention Periods) angegeben),
-wird daf\"{u}r gesorgt, dass die Katalog-Datenbank eine konstante Gr\"{o}{\ss}e beibeh\"{a}lt.
+Daten, \"{a}lter als durch die Aufbewahrungszeitr\"{a}ume (Retention Periods) angegeben,
+wird daf\"{u}r gesorgt, dass die Katalog-Datenbank eine nahezu konstante Gr\"{o}{\ss}e beibeh\"{a}lt.
-Sie k\"{o}nnen mit der vorgegebenen Konfiguration beginnen, sie enth\"{a}lt bereits
-sinnvolle Vorgaben f\"{u}r eine kleine Anzahl von Clients (kleiner 5), in diesem Fall
-wird die Katalogwartung, wenn Sie einige hundert Megabyte freien Plattenplatz haben,
-nicht dringlich sein. Was aber auch immer der Fall ist, einiges Wissen \"{u}ber
-die Retention Periods/Aufbewahrungszeitr\"{a}ume der Daten im Katalog und auf den Volumes ist hilfreich.
+Sie k\"{o}nnen anfangs die vorgegebene Konfiguration benutzen, sie enth\"{a}lt bereits
+sinnvolle Vorgaben f\"{u}r eine kleine Anzahl von Clients (kleiner 5). Wenn Sie dann einige
+hundert Megabyte freien Plattenplatz haben, wird die daraus resultierende Katalog-Gr\"{o}{\ss}e
+vorerst kein Problem darstellen. Was aber auch immer der Fall ist, grundlegendes Wissen \"{u}ber
+die Retention Periods/Aufbewahrungszeitr\"{a}ume der Daten im Katalog und auf den Volumes ist notwendig.
\section{Einstellung der Aufbewahrungszeitr\"{a}ume}
\label{Retention}
Die {\bf File Retention} und die {\bf Job Retention} werden in der Client-Konfiguration,
wie unten gezeigt, angegeben. Die {\bf Volume Retention} wird in der Pool-Konfiguration
-angegeben, genauere Informationen dazu finden Sie im n\"{a}chsten Kapitel dieses Handbuchs.
+angegeben, genauere Informationen dazu finden Sie im Handbuch "`Bacula Installation und Konfiguration"'.
\begin{description}
Da die Datei-Eintr\"{a}ge ca. 80 Prozent der Katalog-Datenbankgr\"{o}{\ss}e ausmachen,
sollten Sie sorgf\"{a}lltig ermitteln \"{u}ber welchen Zeitraum Sie die Eintr\"{a}ge aufbewahren wollen.
-Nachdem die Datei-Eintr\"{a}ge gel\"{o}scht wurden, ist es nicht mehr m\"{o}glich einzelne dieser Dateien
-mit einem R\"{u}cksicherungs-Job wiederherzustellen, aber die Bacula-Versionen 1.37 und sp\"{a}ter
-sind in der Lage, aufgrund des Job-Eintrags im Katalog, alle Dateien des Jobs zur\"{u}ckzusichern
-solange der Job-Eintrag im Katalog vorhanden ist.
+Nachdem die Datei-Eintr\"{a}ge gel\"{o}scht wurden, ist es nicht mehr m\"{o}glich einzelne dieser Dateien
+wiederherzustellen. Die Bacula-Versionen 1.37 und sp\"{a}ter sind allerdings in der Lage, aufgrund des
+Job-Eintrags im Katalog, alle Dateien des Jobs zur\"{u}ckzusichern, solange der Job-Eintrag
+im Katalog vorhanden ist.
Aufbewahrungszeitr\"{a}ume werden in Sekunden angegeben, aber der Einfachheit halber sind auch
eine Reihe von Hilfsangaben m\"{o}glich, so dass man Minuten, Stunden, Tage, Wochen,
um den verschwendeten Festplattenplatz wieder freizugeben. MySQL hat das {\bf OPTIMIZE TABLE}
Kommando und bei SQLite (Version 2.8.4 und gr\"{o}{\ss}er) k\"{o}nnen Sie das {\bf VACUUM}
Kommando zu diesem Zweck benutzen. Wir \"{u}berlassen es Ihnen, die N\"{u}tzlichkeit von
-{\bf OPTIMIZE TABLE} oder {\bf VACUUM} zu ermitteln.
+{\bf OPTIMIZE TABLE} oder {\bf VACUUM} zu beurteilen.
Alle Datenbanken haben Hilfsmittel, um die enthaltenen Daten im ASCII-Format in eine Datei zu schreiben
und diese Datei dann auch wieder einzulesen. Wenn man das tut, wird die Datenbank erneut erzeugt, was ein
in eine ASCII-Datei (bacula.sql) schreiben und neu in die Datenbank importieren:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
mysqldump -f --opt bacula > bacula.sql
mysql bacula < bacula.sql
rm -f bacula.sql
-\end{verbatim}
+\end{alltt}
\normalsize
Abh\"{a}ngig von der Gr\"{o}{\ss}e Ihrer Datenbank, wird dies mehr oder weniger Zeit und auch Festplattenplatz
/var/lib/mysql) und dieses Kommando ausf\"{u}hre:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
du bacula
-\end{verbatim}
+\end{alltt}
\normalsize
bekomme ich die Ausgabe {\bf 620,644}, was bedeutet dass das Verzeichnis bacula 620.644 Bl\"{o}cke
von 1024 Bytes auf der Festplatte belegt, meine Datenbank enth\"{a}lt also ca. 635 MB an Daten.
Nachdem ich das {\bf mysqldump} ausgef\"{u}hrt habe, ist die dabei entstandene Datei bacula.sql
-{\bf 174.356} Bl\"{o}cke gro{\ss}, wenn diese Datei mit dem Kommando {\bf mysql bacula < bacula.sql}
+{\bf 174.356} Bl\"{o}cke gro{\ss}, wenn diese Datei mit dem Kommando {\bf mysql bacula \lt{} bacula.sql}
wieder in die Datenbank importiert wird, ergibt sich eine Datenbankgr\"{o}{\ss}e von nur noch {\bf 210.464}
Bl\"{o}cken. Mit anderen Worten, die komprimierte Version meiner Datenbank, die seit ca. 1 Jahr
in Benutzung ist, ist ungef\"{a}hr nur noch ein Drittel so gro{\ss} wie vorher.
kopieren Sie folgende Zeilen in ein Shell-Script names {\bf repair}:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
#!/bin/sh
for i in *.MYD ; do
- mv $i x${i}
- t=`echo $i | cut -f 1 -d '.' -`
+ mv \$i x\$\{i\}
+ t=`echo \$i | cut -f 1 -d '.' -`
mysql bacula <<END_OF_DATA
set autocommit=1;
-truncate table $t;
+truncate table \$t;
quit
END_OF_DATA
- cp x${i} ${i}
- chown mysql:mysql ${i}
- myisamchk -r ${t}
+ cp x\$\{i\} \$\{i\}
+ chown mysql:mysql \$\{i\}
+ myisamchk -r \$\{t\}
done
-\end{verbatim}
+\end{alltt}
\normalsize
dieses Shell-Script, wird dann wie folgt aufgerufen:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
cd /var/lib/mysql/bacula
./repair
-\end{verbatim}
+\end{alltt}
\normalsize
nachdem sichergestellt ist, dass die Datenbank wieder korrekt funktioniert,
kann man die alten Datenbank-Dateien l\"{o}schen:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
cd /var/lib/mysql/bacula
rm -f x*.MYD
-\end{verbatim}
+\end{alltt}
\normalsize
\section{MySQL-Tabelle ist voll}
Sie k\"{o}nnen sich die maximale Tabellengr\"{o}{\ss}e mit:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
mysql bacula
SHOW TABLE STATUS FROM bacula like "File";
-\end{verbatim}
+\end{alltt}
\normalsize
anzeigen lassen. Wenn die Spalte {\bf max\_data\_length} ca. 4 GB entspricht,
dann ist dass das Problem. Sie k\"{o}nnen die maximale Gr\"{o}{\ss}e aber mit:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
mysql bacula
ALTER TABLE File MAX_ROWS=281474976710656;
-\end{verbatim}
+\end{alltt}
\normalsize
anpassen. Alternativ k\"{o}nnen Sie auch die /etc/my.cnf editieren, bevor Sie die Bacula-Tabellen erstellen,
setzen Sie im Abschnitt [mysqld]:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
set-variable = myisam_data_pointer_size=6
-\end{verbatim}
+\end{alltt}
\normalsize
Bei PostgreSQL k\"{o}nnen Sie mit dem folgenden Kommandos \"{u}berpr\"{u}fen ob Sie alle Indexe haben:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
psql bacula
select * from pg_indexes where tablename='file';
-\end{verbatim}
+\end{alltt}
\normalsize
Wenn Sie keine Ausgaben sehen die anzeigen das alle drei Indexe vorhanden sind,
k\"{o}nnen Sie die beiden zus\"{a}tzlichen Indexe mit:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
psql bacula
CREATE INDEX file_jobid_idx on file (jobid);
CREATE INDEX file_fp_idx on file (filenameid, pathid);
-\end{verbatim}
+\end{alltt}
\normalsize
anlegen.
Bei MySQL k\"{o}nnen Sie die Indexe mit:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
mysql bacula
show index from File;
-\end{verbatim}
+\end{alltt}
\normalsize
\"{u}berpr\"{u}fen.
Wenn Indexe fehlen, besonders der {\bf JobId}-Index, kann er mit:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
mysql bacula
CREATE INDEX file_jobid_idx on File (JobId);
CREATE INDEX file_jpf_idx on File (JobId, FilenameId, PathId);
-\end{verbatim}
+\end{alltt}
\normalsize
erzeugt werden.
Um das zu kontrollieren, f\"{u}hren Sie:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
mysql bacula
show index from Filename;
show index from Path;
-\end{verbatim}
+\end{alltt}
\normalsize
aus.
die folgende Kommandos benutzen:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
mysql bacula
DROP INDEX Path on Path;
CREATE INDEX Path on Path (Path(255);
DROP INDEX Name on Filename;
CREATE INDEX Name on Filename (Name(255));
-\end{verbatim}
+\end{alltt}
\normalsize
Bei SQLite k\"{o}nnen Sie so die Indexe \"{u}berpr\"{u}fen:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
sqlite <path>bacula.db
select * from sqlite_master where type='index' and tbl_name='File';
-\end{verbatim}
+\end{alltt}
\normalsize
Falls ein Index fehlt, im besonderen der {\bf JobId}-Index, k\"{o}nnen Sie ihn mit den folgenden Befehlen erstellen:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
mysql bacula
CREATE INDEX file_jobid_idx on File (JobId);
CREATE INDEX file_jfp_idx on File (JobId, FilenameId, PathId);
-\end{verbatim}
+\end{alltt}
\normalsize
wenn Sie diese Kommandos ausf\"{u}hren:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
pg_dump -c bacula > bacula.sql
cat bacula.sql | psql bacula
rm -f bacula.sql
-\end{verbatim}
+\end{alltt}
\normalsize
Abh\"{a}gig von Ihrer Datenbankgr\"{o}{\ss}e wird dieser Vorgang mehr oder
SQLite-Versionen gr\"{o}{\ss}er 2.8.4 haben das {\bf Vacuum}-Kommando um die Datenbank zu komprimieren:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
cd {\bf working-directory}
echo 'vacuum;' | sqlite bacula.db
-\end{verbatim}
+\end{alltt}
\normalsize
Als Alternative k\"{o}nnen Sie auch die folgenden Kommandos (auf Ihr System angepasst) benutzen:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
cd {\bf working-directory}
echo '.dump' | sqlite bacula.db > bacula.sql
rm -f bacula.db
sqlite bacula.db < bacula.sql
rm -f bacula.sql
-\end{verbatim}
+\end{alltt}
\normalsize
Wobei {\bf working-directory} das Verzeichnis ist, dass Sie in Ihrer Director-Dienst-Konfiguration angegeben haben.
mit der folgenden zus\"{a}tzlichen Director-Dienst-Konfiguration ausf\"{u}hren lassen:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
# Catalog-Datenbank-Backup (nach der n\"{a}chtlichen Sicherung)
-Job {
- Name = "BackupCatalog"
+Job \{
+ Name = BackupCatalog
Type = Backup
Client=rufus-fd
- FileSet="Catalog"
- Schedule = "WeeklyCycleAfterBackup"
+ FileSet=Catalog
+ Schedule = WeeklyCycleAfterBackup
Storage = DLTDrive
Messages = Standard
Pool = Default
# Achtung!!! Das Passwort auf der Kommandozeile zu \"{u}bergeben ist nicht sicher.
# Lesen Sie bitte die Kommentare in der Datei make_catalog_backup.
- RunBeforeJob = "/home/kern/bacula/bin/make_catalog_backup"
- RunAfterJob = "/home/kern/bacula/bin/delete_catalog_backup"
- Write Bootstrap = "/home/kern/bacula/working/BackupCatalog.bsr"
-}
+ RunBeforeJob = "/home/bacula/bin/make_catalog_backup"
+ RunAfterJob = "/home/bacula/bin/delete_catalog_backup"
+ Write Bootstrap = "/home/bacula/working/BackupCatalog.bsr"
+\}
# Diese Schedule starten das Catalog-Backup nach den anderen Sicherungen
-Schedule {
- Name = "WeeklyCycleAfterBackup
+Schedule \{
+ Name = WeeklyCycleAfterBackup
Run = Level=Full sun-sat at 1:10
-}
+\}
# Das FileSet f\"{u}r die ASCII-Kopie der Datenbank
-FileSet {
- Name = "Catalog"
- Include {
- Options {
+FileSet \{
+ Name = Catalog
+ Include \{
+ Options \{
signature=MD5
- }
- File = \lt{}working_directory\gt{}/bacula.sql
- }
-}
-\end{verbatim}
+ \}
+ File = "<working_directory>/bacula.sql"
+ \}
+\}
+\end{alltt}
\normalsize
Stellen Sie sicher, dass, wie in dem Beispiel, eine Bootstrap-Datei geschrieben wird.
finden Sie Links zu Scripts die zeigen, wie man die meisten gr\"{o}{\ss}eren Datenbanken sichern kann.
\label{Size}
-
\section{Datenbank Gr\"{o}{\ss}e}
\index[general]{Gr\"{o}{\ss}e!Datenbank }
\index[general]{Datenbank Gr\"{o}{\ss}e }
kann dann so berechnet werden:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
Gr\"{o}{\ss}e = 154 * Anzahl Computer * (100.000 * 4 + 10.000 * 26)
-\end{verbatim}
+\end{alltt}
\normalsize
wenn ein Monat mit 4 Wochen angenommen wird, werden also 26 inkrementelle Backups im Monat laufen.
Das ergibt das folgende:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
Gr\"{o}{\ss}e = 154 * 2 * (100.000 * 4 + 10.000 * 26)
or
Gr\"{o}{\ss}e = 308 * (400.000 + 260.000)
or
Gr\"{o}{\ss}e = 203.280.000 Bytes
-\end{verbatim}
+\end{alltt}
\normalsize
f\"{u}r die beiden oben angenommen Computer k\"{o}nnen wir also davon ausgehen, dass die Datenbank
154 Bytes w\"{a}chst.
\footnotesize
-\begin{verbatim}
+\begin{alltt}
Gr\"{o}{\ss}e
in Bytes Eintr\"{a}ge Dateiname
============ ========= ===========
3,072 Pool.MYI
5 1 Version.MYD
1,024 Version.MYI
-\end{verbatim}
+\end{alltt}
\normalsize
Die Datenbank hat eine Gr\"{o}{\ss}e von ca. 450 Megabytes..
%%
%%
-\chapter{The internal database is not supported, please do not
-use it.}
+\chapter{Die interne Katalog-Datenbank (Bitte nicht benutzen) }
\label{InternalDbChapter}
-\index[general]{Use it!The internal database is not supported please
-do not }
-\index[general]{The internal database is not supported, please do not
-use it. }
+\index[general]{Die interne Katalog-Datenbank }
-\section{Internal Bacula Database}
-\index[general]{Internal Bacula Database }
-\index[general]{Database!Internal Bacula }
+\section{Interne Bacula Datenbank}
+\index[general]{Interne Bacula Datenbank }
+\index[general]{Datenbank!Interne Bacula }
-Previously it was intended to be used primarily by Bacula developers for
-testing; although SQLite is also a good choice for this. We do not recommend
-its use in general.
+Urspr\"{u}nglich war die internen Datenbank haupts\"{a}chlich f\"{u}r
+die Bacula-Programmierer gedacht, um eine Testm\"{o}glichkeit w\"{a}hrend der
+Entwicklung bereit zu stellen; wenngleich auch SQLite eine gute Wahl daf\"{u}r ist.
+Jedenfalls ist die interne Datenbank nicht zum allgemeinen Gebrauch bestimmt.
-This database is simplistic in that it consists entirely of Bacula's internal
-structures appended sequentially to a file. Consequently, it is in most cases
-inappropriate for sites with many clients or systems with large numbers of
-files, or long-term production environments.
+Die interne Datenbank ist so einfach ausgelegt, dass sie nur aus einer Datei besteht
+an die die internen benutzten Bacula-Strukturen fortlaufend angef\"{u}gt werden.
+Daher ist diese Datenbank auch nicht f\"{u}r Bacula-Installation mit vielen
+Clients oder mit gro{\ss}en Datenmengen geeignet.
-Below, you will find a table comparing the features available with SQLite and
-MySQL and with the internal Bacula database. At the current time, you cannot
-dynamically switch from one to the other, but must rebuild the Bacula source
-code. If you wish to experiment with both, it is possible to build both
-versions of Bacula and install them into separate directories.
+Untern finden Sie eine Tabelle in der die Funktionen von MySQL, SQLite und der
+internen Datenbank verglichen werden. Momentan ist es nicht m\"{o}glich im
+laufenden Betrieb zwischen den verschiedenen Datenbanken umzuschalten,
+Bacula muss dazu neu kompiliert werden. Wenn Sie mit verschiedenen Datenbanken
+testen m\"{o}chten, k\"{o}nnen Sie allerdings die entsprechenden Bacula-Programm-Dateien
+in zwei verschiedene Verzeichnisse installieren.
-\addcontentsline{lot}{table}{SQLite vs MySQL Database Comparison}
+\addcontentsline{lot}{table}{SQLite und MySQL im Vergleich zu der internen Bacula-Datenbank}
\begin{longtable}{|l|l|l|}
\hline
-\multicolumn{1}{|c| }{\bf Feature } & \multicolumn{1}{c| }{\bf SQLite or MySQL
+\multicolumn{1}{|c| }{\bf Feature } & \multicolumn{1}{c| }{\bf SQLite oder MySQL
} & \multicolumn{1}{c| }{\bf Bacula } \\
\hline
-{Job Record } & {Yes } & {Yes } \\
+{Job Record } & {Ja } & {Ja } \\
\hline
-{Media Record } & {Yes } & {Yes } \\
+{Media Record } & {Ja } & {Ja } \\
\hline
-{FileName Record } & {Yes } & {No } \\
+{FileName Record } & {Ja } & {Nein } \\
\hline
-{File Record } & {Yes } & {No } \\
+{File Record } & {Ja } & {Nein } \\
\hline
-{FileSet Record } & {Yes } & {Yes } \\
+{FileSet Record } & {Ja } & {Ja } \\
\hline
-{Pool Record } & {Yes } & {Yes } \\
+{Pool Record } & {Ja } & {Ja } \\
\hline
-{Client Record } & {Yes } & {Yes } \\
+{Client Record } & {Ja } & {Ja } \\
\hline
-{JobMedia Record } & {Yes } & {Yes } \\
+{JobMedia Record } & {Ja } & {Ja } \\
\hline
-{List Job Records } & {Yes } & {Yes } \\
+{List Job Records } & {Ja } & {Ja } \\
\hline
-{List Media Records } & {Yes } & {Yes } \\
+{List Media Records } & {Ja } & {Ja } \\
\hline
-{List Pool Records } & {Yes } & {Yes } \\
+{List Pool Records } & {Ja } & {Ja } \\
\hline
-{List JobMedia Records } & {Yes } & {Yes } \\
+{List JobMedia Records } & {Ja } & {Ja } \\
\hline
-{Delete Pool Record } & {Yes } & {Yes } \\
+{Delete Pool Record } & {Ja } & {Ja } \\
\hline
-{Delete Media Record } & {Yes } & {Yes } \\
+{Delete Media Record } & {Ja } & {Ja } \\
\hline
-{Update Pool Record } & {Yes } & {Yes } \\
+{Update Pool Record } & {Ja } & {Ja } \\
\hline
-{Implement Verify } & {Yes } & {No } \\
+{Verify verf\"{u}gbar } & {Ja } & {Nein } \\
\hline
-{MD5 Signatures } & {Yes } & {No }
+{MD5 Signaturen } & {Ja } & {Nein }
\\ \hline
\end{longtable}
-In addition, since there is no SQL available, the Console commands: {\bf
-sqlquery}, {\bf query}, {\bf retention}, and any other command that directly
-uses SQL are not available with the Internal database.
+Da bei der internen Datenbank kein Zugriff \"{u}ber SQL-Kommandos m\"{o}glich ist,
+stehen auch die Console-Kommandos {\bf sqlquery}, {\bf query}, {\bf retention},
+sowie weitere die direkt SQL benutzen, nicht zur Verf\"{u}gung.
installieren wollen, ben\"{o}tigen Sie diese Pakete:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
mysql-<version>.rpm
mysql-server-<version>.rpm
mysql-devel-<version>.rpm
-\end{verbatim}
+\end{alltt}
\normalsize
Die Namen k\"{o}nnen, je nach Distribution, auch abweichen.
Wichtig ist es, dass Sie auch das devel-Paket, das die header-Dateien
folgende Kommandos ausf\"{u}hren:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
<MySQL-Verzeichnis>/bin/mysql -u root mysql
select * from user;
-\end{verbatim}
+\end{alltt}
\normalsize
\section{Re-Initialisierung der Katalog-Datenbank}
tun Sie folgendes:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
cd <install-directory>
./drop_bacula_tables
./make_bacula_tables
-\end{verbatim}
+\end{alltt}
\normalsize
Bitte bedenken Sie, dass dabei alle Informationen unwiderruflich
Das erreichen Sie durch:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
(stop Bacula or unmount the drive)
mt -f /dev/nst0 rewind
mt -f /dev/nst0 weof
-\end{verbatim}
+\end{alltt}
\normalsize
hierbei m\"{u}ssen Sie {\bf /dev/nst0} durch das Device ersetzen,
exportieren, oder sie direkt beim Aufruf von ./configure angeben:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
LDFLAGS="-lssl -lcyrpto" \
./configure \
<your-options>
-\end{verbatim}
+\end{alltt}
\normalsize
\section{MySQL RPM-Installation}
Sie m\"{u}ssen also diese beiden Pakete installieren:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
mysql
mysql-devel
-\end{verbatim}
+\end{alltt}
\normalsize
Bei den meisten anderen Paket-Managern wird das \"{a}hnlich aussehen.
gelinked ist:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
nm /usr/lib/libpq.a | grep pthread_mutex_lock
-\end{verbatim}
+\end{alltt}
\normalsize
Die Kommandos m\"{u}ssen in etwa eine Zeile wie diese zur\"{u}ckgeben:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
U pthread_mutex_lock
-\end{verbatim}
+\end{alltt}
\normalsize
wenn das der Fall ist, ist alles in Ordnung. Wenn keine Zeilen zur\"{u}ckgegeben
Um einen neuen Datenbank-Benutzer anzulegen, k\"{o}nnen Sie folgende
Kommandos ausf\"{u}hren:
-\begin{verbatim}
+\begin{alltt}
su
(Eingabe des root-Passworts)
su pgsql (oder postgres)
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) n
exit
-\end{verbatim}
+\end{alltt}
Jetzt sollten Sie in der Lage sein das Script ./create\_bacula\_database
auszuf\"{u}hren.
k\"{o}nnen Sie diese Kommando ausf\"{u}hren:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
PostgreSQL-Verzeichnis/bin/psql --command \\dp bacula
-\end{verbatim}
+\end{alltt}
\normalsize
Falls Autorisationsprobleme beim Zugriff auf die Datenbank auftreten,
wie folgt anzupassen:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
local all all ident sameuser
to
local all all trust sameuser
-\end{verbatim}
+\end{alltt}
\normalsize
Dadurch k\"{o}nnen einige Probleme behoben werden. Allerdings ist das
einfach die folgende Zeile ein:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
local bacula bacula md5
-\end{verbatim}
+\end{alltt}
\normalsize
Danach ist es notwendig die PostgreSQL-Instanz neu zu starten oder
-"`pg_ctl reload"' auszuf\"{u}hren, damit die neue Regel aktiviert wird.
+"`pg\_ctl reload"' auszuf\"{u}hren, damit die neue Regel aktiviert wird.
Als n\"{a}chstes muss noch ein Passwort f\"{u}r den Datenbank-Benutzer
bacula vergeben werden. Wechseln Sie dazu den Benutzer (z.B. mit su - postgres)
und f\"{u}hren Sie folgende Kommandos aus:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
\$ psql bacula
bacula=# alter user bacula with password 'secret';
ALTER USER
bacula=# \\q
-\end{verbatim}
+\end{alltt}
\normalsize
Das vergebene Passwort m\"{u}ssen Sie an den folgenden Stellen in
beiden Zeilen dann in etwa so aussehen:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
dbname = bacula; user = bacula; password = "secret"
... und ...
# WARNING!!! Passing the password via the command line is insecure.
# see comments in make_catalog_backup for details.
RunBeforeJob = "/etc/make_catalog_backup bacula bacula secret"
-\end{verbatim}
+\end{alltt}
\normalsize
Nat\"{u}rlich sollte ein mehr zuf\"{a}lliges Passwort gew\"{a}hlt werden
Dazu muss diese Datei folgendes enthalten:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
localhost:5432:bacula:bacula:secret
-\end{verbatim}
+\end{alltt}
\normalsize
Danach kann diese Datei in die Home-Verzeichnisse aller Benutzer kopiert werden
tun Sie folgendes:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
cd <install-directory>
./drop_bacula_tables
./make_bacula_tables
-\end{verbatim}
+\end{alltt}
\normalsize
Bitte bedenken Sie, dass dabei alle Informationen unwiderruflich
Das erreichen Sie durch:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
(stop Bacula or unmount the drive)
mt -f /dev/nst0 rewind
mt -f /dev/nst0 weof
-\end{verbatim}
+\end{alltt}
\normalsize
hierbei m\"{u}ssen Sie {\bf /dev/nst0} durch das Device ersetzen,
PostgreSQL-devel-RPM. Folgende Pakete m\"{u}ssen installiert werden:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
postgresql
postgresql-devel
postgresql-server
postgresql-libs
-\end{verbatim}
+\end{alltt}
\normalsize
Bei dem meisten anderen Paket-Managern werden die Pakete \"{a}hnlich
\begin{enumerate}
\item Stoppen Sie bacula (cd /etc/bacula;./bacula stop oder /etc/init.d/bacula stop)
-\item F\"{u\}hren Sie das folgende Kommando aus, um die Daten Ihrer MySQL-Datenbank
+\item F\"{u}hren Sie das folgende Kommando aus, um die Daten Ihrer MySQL-Datenbank
zu exportieren:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
mysqldump -f -t -n >bacula-backup.dmp
-\end{verbatim}
+\end{alltt}
\normalsize
\item Sichern Sie Ihr /etc/bacula-Verzeichnis, \"{a}ndern Sie aber nicht das bestehende Verzeichnis
\item Stoppen Sie MySQL.
\item Starten Sie PostgreSQL.
\item Erstellen Sie den Datenbankbenutzer bacula mit dem weiter oben beschriebenen Kommandos.
-\item \"{U}berpr\"{u}fen Sie die Datei pg_hba.conf daraufhin das der Benutzer bacula die entsprechenden
+\item \"{U}berpr\"{u}fen Sie die Datei pg\_hba.conf daraufhin das der Benutzer bacula die entsprechenden
Berechtigungen f\"{u}r den Datenbankzugriff besitzt. Wenn Ihr System entsprechend gesichert ist,
k\"{o}nnte der Eintrag so aussehen:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
local all all trust
host all all 127.0.0.1 255.255.255.255 trust
Hinweis: PostgreSQL muss nach Anpassungen dieser Datei neu gestartet werden.
-\end{verbatim}
+\end{alltt}
\normalsize
\item Wechseln Sie in das Verzeichnis /etc/bacula und Initialisieren Sie die Katalogdatenbank
mit diesen Kommandos:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
./create_postgresql_database
./make_postgresql_tables
./grant_postgresql_privileges
-\end{verbatim}
+\end{alltt}
\normalsize
\item \"{U}berpr\"{u}fen Sie, ob Sie die Berechtigung zum Datanbankzugriff haben:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
psql -Ubacula bacula
-\end{verbatim}
+\end{alltt}
\normalsize
Das sollte zu keinen Fehlern f\"{u}hren.
\item Importieren Sie die Daten aus Ihrer MySQL-Datenbank mit:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
psql -Ubacula bacula <bacula-backup.dmp>
-\end{verbatim}
+\end{alltt}
\normalsize
\item Aktualisieren Sie die Datenbank-Tabellen mit folgenden Kommandos:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
psql -Ubacula bacula
SELECT SETVAL('basefiles_baseid_seq', (SELECT
SELECT SETVAL('pool_poolid_seq', (SELECT MAX(poolid) FROM pool));
-\end{verbatim}
+\end{alltt}
\normalsize
\item Starten Sie Bacula und \"{u}berpr\"{u}fen Sie den Datenbestand.
%%
%%
-\chapter{Installing and Configuring SQLite}
+\chapter{SQLite Installation und Konfiguration}
\label{SqlLiteChapter}
-\index[general]{Installing and Configuring SQLite }
-\index[general]{SQLite!Installing and Configuring }
-
-Please note that SQLite both versions 2 and 3 are not network enabled,
-which means that they must be linked into the Director rather than accessed
-by the network as MySQL and PostgreSQL are. This has two consequences:
+\index[general]{SQLite Installation und Konfiguration}
+\index[general]{SQLite!Installation und Konfiguration}
+
+Bitte beachten Sie, dass SQLite, in Version 2 und 3, beide nicht
+netzwerkf\"{a}hig sind. Das bedeutet, dass SQLite auf dem selben System
+installiert sein muss wie der Bacula-Director-Dienst. Es ist kein Zugriff
+\"{u}ber das Netzwerk, wie bei MySQL und PostgreSQL, m\"{o}glich. Daraus
+ergeben sich diese Konsequenzen:
\begin{enumerate}
-\item SQLite cannot be used in the {\bf bweb} web GUI package.
-\item If you use SQLite, and your Storage daemon is not on the same
-machine as your Director, you will need to transfer your database
-to the Storage daemon's machine before you can use any of the SD tools
-such as {\bf bscan}, ...
+\item SQLite kann nicht mit der Web-GUI {\bf bweb} benutzt werden.
+\item Wenn SQLite auf einer anderen Maschine als Ihr Storage-Dienst
+l\"{a}uft, m\"{u}ssen Sie die Datenbank auf das System des Storage-Dienstes
+kopieren, bevor Sie die SD-Hilfsprogramme wie bscan usw. benutzen k\"{o}nnen.
\end{enumerate}
-\section{Installing and Configuring SQLite -- Phase I}
-\index[general]{Phase I!Installing and Configuring SQLite -- }
-\index[general]{Installing and Configuring SQLite -- Phase I }
+\section{SQLite Installation und Konfiguration -- Phase I}
+\index[general]{Phase I!SQLite Installation und Konfiguration -- }
+\index[general]{SQLite Installation und Konfiguration -- Phase I }
-If you use the {\bf ./configure \verb:--:with-sqlite} statement for configuring {\bf
-Bacula}, you will need SQLite version 2.8.16 or later installed. Our standard
-location (for the moment) for SQLite is in the dependency package {\bf
-depkgs/sqlite-2.8.16}. Please note that the version will be updated as new
-versions are available and tested.
+Wenn Sie den Bacula-Quelltext mit {\bf ./configure \verb:--:with-sqlite}
+konfigurieren, m\"{u}ssen Sie SQLite in Version 2.8.16 oder neuer installiert
+haben. Diese SQLite-Version finden Sie in dem "`Dependency-Package"' unter
+{\bf depkgs/sqlite-<Version>}. Wenn neuere Version von SQLite verf\"{u}gbar sind,
+wird auch dieses Paket aktualisiert.
-Installing and Configuring is quite easy.
+Die Installation und Konfiguration ist sehr einfach:
\begin{enumerate}
-\item Download the Bacula dependency packages
-\item Detar it with something like:
+\item downloaden Sie das Bacula-Dependency-Package.
+\item entpacken Sie es mit einem Kommando wie:
{\bf tar xvfz depkgs.tar.gz}
- Note, the above command requires GNU tar. If you do not have GNU tar, a
- command such as:
+ Dieses Kommando ben\"{o}tigt das GNU tar Programm,
+ ansonsten wird:
{\bf zcat depkgs.tar.gz | tar xvf -}
- will probably accomplish the same thing.
+ zum gleichen Ziel f\"{u}hren.
\item {\bf cd depkgs}
-\item {\bf make sqlite}
-
-\end{enumerate}
+\item f\"{u}r SQLite2: {\bf make sqlite}
+\item oder f\"{u}r SQLite3: {\bf make sqlite3}
-Please note that the {\bf ./configure} used to build {\bf Bacula} will need to
-include {\bf \verb:--:with-sqlite} or {\bf \verb:--:with-sqlite3} depending
-one which version of SQLite you are using. You should not use the {\bf
-\verb:--:enable-batch-insert} configuration parameter for Bacula if you
-are using SQLite version 2 as it is probably not thread safe. If you
-are using SQLite version 3, you may use the {\bf \verb:--:enable-batch-insert}
-configuration option with Bacula, but when building SQLite3 you MUST
-configure it with {\bf \verb:--:enable-threadsafe} and
-{\bf \verb:--:enable-cross-thread-connections}.
+\end{enumerate}
-By default, SQLite3 is now run with {\bf PRAGMA synchronous=OFF} this
-increases the speed by more than 30 time, but it also increases the
-possibility of a corrupted database if your server crashes (power failure
-or kernel bug). If you want more security, you can change the PRAGMA
-that is used in the file src/version.h.
+Je nachdem welche Version Sie installiert haben, SQLite oder SQLite3, m\"{u}ssen Sie
+Bacule entsprechend mit {\bf \verb:--:with-sqlite} oder {\bf \verb:--:with-sqlite3}
+konfigurieren. Die Version 2 von SQLite k\"{o}nnen Sie nicht zusammen mit der
+Bacula-Konfigurations-Option {\bf \verb:--:enable-batch-insert} verwenden, da die Version 2
+nicht thread-safe ist. Mit SQLite3 k\"{o}nnen Sie diese Option nur verwenden, wenn Sie
+SQLite3 mit {\bf \verb:--:enable-threadsafe} und {\bf \verb:--:enable-cross-thread-connections}
+konfiguriert und kompiliert haben.
-At this point, you should return to completing the installation of {\bf
-Bacula}.
+Standardm\"{a}{\ss}ig l\"{a}uft SQLite3 mit {\bf PRAGMA synchronous=OFF}.
+Das erh\"{o}ht zwar die Geschwindigkeit um bis zu das 30-fache, hat aber den
+Nachteil, dass Ihre Datenbank leichter besch\"{a}digt wird, falls Ihre
+Maschine, etwa durch Stromausfall oder einen Kernel-Bug, stehen bleibt.
+Falls Sie auf die h\"{o}here Geschwindigkeit zugunsten der Sicherheit
+verzichten wollen, k\"{o}nnen Sie PRAGMA in der Datei src/version.h
+entsprechend anpassen.
+An dieser Stelle sollten Sie mit der Installation von Bacula
+fortfahren.
\section{Installing and Configuring SQLite -- Phase II}
\label{phase2}
If Bacula crashes with the following type of error when it is started:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
Using default Catalog name=MyCatalog DB=bacula
Could not open database "bacula".
sqlite.c:151 Unable to open Database=/var/lib/bacula/bacula.db.
ERR=malformed database schema - unable to open a temporary database file
for storing temporary tables
-\end{verbatim}
+\end{alltt}
\normalsize
this is most likely caused by the fact that some versions of
that you ran. To do so, you can do the following:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
cd <install-directory>
./drop_sqlite_tables
./make_sqlite_tables
-\end{verbatim}
+\end{alltt}
\normalsize
Please note that all information in the database will be lost and you will be
end of file mark on the volume so that Bacula can reuse it. Do so with:
\footnotesize
-\begin{verbatim}
+\begin{alltt}
(stop Bacula or unmount the drive)
mt -f /dev/nst0 rewind
mt -f /dev/nst0 weof
-\end{verbatim}
+\end{alltt}
\normalsize
Where you should replace {\bf /dev/nst0} with the appropriate tape drive