Bacula kann auch benutzt werden, um einen MS Exchange Server zu sichern. Allerdings spielt auch ntbackup eine Rolle, so dass die klassischen Nachteile dieses Schmalspur-Backupprogramms zu tragen kommen. Damit ein Exchange-Server wirklich ausschließlich mit Bacula gesichert werden kann, müsste Bacula eine Plugin-API anbieten. Ein erster Schritt in diese Richtung könnte schon in der kommenden Version 1.37 getan werden.
Solange ist aber noch eine andere Vorgehensweise erfoderlich...
Achtung: Die vorliegenden Dateien funktionieren nur mit Windows 2000 und Exchange 2000. Im Windows Server 2003 hat Microsoft wohl die Kommandozeilen-Parameter von ntbackup geändert, so dass das angepasst werden müsste. Entsprechende Hinweise gerne an mich.
TODO
Aus der bacula-dir.conf:
Job { Name = "Exchange" ... FileSet = "Exchange_files" Client Run Before Job = "C:\\bacula\\exchange\\exchange.bat %l" Client Run After Job = "del /F /Q C:\\bacula\\exchange\\files\\*" } FileSet { Name = "Exchange_files" Include { Options { compression=GZIP signature=MD5 portable=yes } File = "C:/bacula/exchange/files" } }
Vermutlich könnte man sogar die GZIP-Kompression weglassen, da ich vermute, dass ntbackup bereits komprimiert.
Den Windows-Filedaemon konfiguriert wie jeden anderen Filedaemon auch, daher gebe ich diese Konfiguration hier nicht an.
Ich habe folgende Verzeichnisse angelegt:
C:\ | |- bacula\ | |- exchange\ | |- exchange.bat |- exchange.py |- files\
Die exchange.bat hat eigentlich nur den Zweck, anschließend das eigentliche Python-Skript aufzurufen, ohne dass man im Bacula director den Windows-Pfad des Python-Interpreters kennen muss... Die eigentliche Arbeit macht exchange.py, womit auf dem Exchange-Server natürlich Python installiert sein muss. Alternativ kann man auch die bat-Datei etwas erweitern (bzw. die auskommentierten Befehle wieder aktivieren), aber diese verkrüppelte Windows-Skriptsprache der CMD.EXE ist nun wirklich nicht schön.
Das Skript kann Exchange komplett oder differentiell sichern, alle anderen Bacula-Level werden auf differentiell abgebildet.