Was ist Bacula?

Bacula ist ein Netzwerk-Backup-System für Linux, Windows und Mac.

Bacula besteht aus drei Komponenten:

  • Der Bacula-Director steuert den Backup
  • Der Bacula-Storage-Deamon erhält diue zu sichernden Daten vom Bacula-Director und speichert sie auf dem Sicherungsmedium (Festplatte, Bandlaufwertk, …)
  • Der Bacula-File-Deamon liefert die zu sichernden Daten auf Anforderung des Bacula-Directors

Typischerweise kümmert sich ein PC im Netzerk um die Datensicherung. Dort laufen der Director und der Storage-Deamon und dort ist das Sicherungsmedium angeschlossen. Auf allen PCs, die zu sichernde Daten haben läuft nur der File-Deamon. Die Kommunikation mit den Deamons läuft über Ports, d.h. in der lokale Firewall der beteiligten PCs müssen die entsprechenden Ports (9101, 9102 und 9103) geöffnet werden.

Vortrag zum Thema

Siehe auch PDF der Folien

Probleme unter SuSE

Das Paket “bacula” ist defekt, d.h. es werden bei mehreren Dateien die Links nicht richtig gesetzt. Den Artikel im SuSE-Forum, der die Lösung beschreibt, gibt es leider nicht mehr (http://forums.opensuse.org/english/get-technical-help-here/applications/461813-bacula-install-issue-cant-find-your-catalog-mycatalog-director-configuration-post2377821.html)

Zugriff auf Backup-Dateien

Zugriff auf den Inhalt der Backup-Dateien ist auch möglich, wenn kein Catalog vorhanden ist (z.B. nach System-Crash) mit Kommandozeilen-Tools:

  • bls listet den Inhalt
  • bextract extrahiert Dateien
  • bscan stellt den Catalog-Inhalt aus der Datei wieder her

Auflisten des Inhalts der Datei File-0003, die ein Volume innerhalb der Storage FileStorage ist (FileStorage muß in bacula-sd.conf definiert sein):

bls -v -V File-0003 FileStorage

Einschränken auf alle in der Datei “includelist” enthaltenen Pfade:

bls -v -i includelist -V File-0003 FileStorage

Zum Finden der gesicherten Dateien von “/var/lib/bacula” sah die Datei “includelist” so aus:

/var/lib/bacula

Restore

Der in der offiziellen Doku beschriebene Weg ist deutlich komplizierter als folgender:

Wir gehen davon aus, dass nur die Backup-Dateien vorhanden sind, diese aber mindestens einen Backup des Catalogs enthalten.

  1. Extrahieren der neuesten /var/lib/bacula/working/bacula.sql mittels bextract (Parameter vorher mit bls testen)
  2. Das extrahierte SQL-Skript bacula.sql in MySQL ausführen (z.B. über MySQL-Workbench)

Wenn alle Backup-Volumes verfügbar sind müßte alternativ auch einspielen über bscan funktionieren (ging bei uns erst mal nicht wegen obigem SuSE-Fehler).