Bacula Backupsystem
Inhaltsverzeichnis
Allgemeines
Bacula ist eine weltweit millionenfach eingesetzte Software zum Managhen von Backups.
Bacula ist mit Amanda die bekannteste Backuplösung im Open-Source-Bereich.
Bacula ist in Webmin (siehe unten) als Plugin verfügbar!
Erläuterungen
Als erstes sei erwähnt, dass im einfachsten Fall, alle Komponenten auch auf EINEM Rechner mit Linux-Betriebssystem installiert sein können.
Jeder der Komponenten entspricht einer Software-Applikation des Bacula-Toolsets.
Komponente | Funktion | Software | Betriebssystem |
---|---|---|---|
Director | Master | bacula-dir | Linux (Unixe ...) |
Console | bconsole | Linux (für Gnome: und Windows:) | |
Catalog | SQL-DB | MySQL, Postgress, SQLite | |
File | System (zu sichern) | bacula-fd | Linux (Unixe ...), Windows, ... |
Storage | Backups (Lagerstelle) | bacula-sd | mit Anbindung an Tape-Arary |
Jeder dieser Komponenten hat nur die ihm eigene Aufgabe. Die Kommandos etwas zu tun oder Informationen etwas zu veranlassen erhalten die Komponenten von den jeweils anderen Komponenten (siehe Verbindungen im Netzplan) auf Wunsch auch verschlüsselt. Die Daten bei des Backup/Restore werden direkt zwischen FD und SD ausgetauscht.
Neben diese Hauptsoftware-Komponenten, die jeweils eine eigene Controll-App (start|stop|restart|status) und eine eigene Konfigurations-Datei (.conf) besitzen, besteht das Toolset noch aus folgenden Programmen: (Liste sortieren und Kurzinfo an jede Datei anheften)
- bcopy
- bsmtp
- create_mysql_database
- grant_bacula_privileges
- mtx-changer.conf
- baculabackupreport
- bdirjson
- btape
- dbcheck
- grant_mysql_privileges
- query.sql
- bacula_config
- bextract
- btraceback
- delete_catalog_backup
- isworm
- tapealert
- bfdjson
- btraceback.dbx
- disk-changer
- make_bacula_tables
- update_bacula_tables
- bacula-tray-monitor.desktop
- bls
- btraceback.gdb
- drop_bacula_database
- make_catalog_backup
- update_mysql_tables
- bbconsjson
- bregex
- btraceback.mdb
- drop_bacula_tables
- make_catalog_backup.pl
- bscan
- bwild
- drop_mysql_database
- make_mysql_tables
- bsdjson
- create_bacula_database
- drop_mysql_tables
- mtx-changer
Darüber hinaus gibt es noch ein working-Directory, in dem alle Daten gehalten werden, die nicht in die Datenbank gehören.
Die Installation ging nicht ganz problemlos. Das Configure-Shellscript erwartet ein paar Parameter (siehe README). In diesen Parametern sind Pfade relativ zur $HOME-Variable angegeben. Das führt dazu, dass die bacula-Installation im Home-Verzeichnis des Nutzers landet. In der Literatur findet man häufig den Hinweis, dass die Configs im /etc gesucht werden. Das 'make' kann man zwar dann noch mit dem Nutzeraccount durchführen, das 'make install' geht aber vermutlich aufgrund fehlender Schreibberechtigung in /lib64 schief. Besser wäre hier /usr/lib64. Dann befinden sich zu allem Überfluss sämtliche Programme in einem bin-Unterordner. Da gehören nach meinem Empfinden nur Programme rein. Die Configs gehören in einen eigenen config-Unterordner, den man dann auch problemlos in /etc per Softlink hinterlegen kann und alle 'DB-Creates', etc. gehören in einen eigenen Install-Ordner.
Webmin-Plugin
Hier lässt sich auch wieder schön der Dreiklang der Hauptkomponenten ersehen. Webmin ersetzt, zumindest teilweise, hier die Consolenfunktion. Die (Catalog-)Datenbank ist im Betrieb für den Nutzer transparent.
Literatur zum Eintieg
Ein guter Einstieg findet man im Getting Started oder für diejenigen, die gleich einsteigen möchten, im Brief Tutorial
Tiefergehende Anleitungen in deutsch sind kaum zu finden. (Wenn ihr was Gutes findet, bitte in die Kommentare eintragen.)
Ein gelungener Einstiegsartikel (7 Seiten) findet sich hier
Das ein oder andere kann man noch aus dieser Präsentation (68 Seiten) herausziehen.
Die automatische Aktualisierung der Kommentare aktivieren.