Login
Newsletter
Werbung

So, 8. Februar 2009, 00:00

Das Backup-Programm BoxBackup

Platzsparendes netzwerkweites Backup

Statt /var in die Konfiguration aufzunehmen und dann eine ganze Liste von Dateien und Verzeichnissen auszuschließen, könnte man auch umgekehrt die benötigten Unterverzeichnisse einschließen. Das birgt aber die Gefahr, dass man vergisst, etwas zu sichern, insbesondere nach der Installation neuer Software.

Der Client ist nun einsatzbereit! Für jeden weiteren Client müssen die gleichen Schritte mit einer neuen ID wiederholt werden. Das ist etwas aufwendig, aber man muss es nur einmal im Leben machen, sozusagen. Admins größerer Systeme können, falls BoxBackup für solch eine Umgebung in Frage kommt, mit expect problemlos die ganze Prozedur automatisieren.

Wir starten mit:

/etc/init.d/boxbackup-client start

Eine Rückmeldung gibt es nicht, aber der Daemon sollte jetzt laufen und auch hier sollte im Syslog ein entsprechender Vermerk auftauchen. Falls Sie als Backup-Modus lazy definiert haben, sollte der Daemon automatisch mit dem Sichern beginnen und dies kontinuierlich weiter tun. Im anderen Fall ist jetzt eine gute Gelegenheit für einen manuellen Test des Backups:

bbackupctl sync

Nach einer kurzen Ausgabe mit Informationen zum Backup ist bbackupctl beendet. Der Grund ist, dass es nur das Backup angestoßen hat, das nun im Hintergrund läuft. Es gibt leider zur Zeit keine gute Möglichkeit, sich über den Fortschritt des Backups zu informieren. Im Syslog sieht man nicht viel. Auf dem Server kann man mit bbstoreaccounts info 1 den Speicherverbrauch überwachen. Die Ausgabe sieht ungefähr so aus:

 Account ID: 00000001
 Last object ID: 1441
 Blocks used: 3046 (11.90Mb)
 Blocks used by old files: 0 (0.00Mb)
 Blocks used by deleted files: 0 (0.00Mb)
 Blocks used by directories: 273 (1.07Mb)
 Block soft limit: 104857600 (409600.00Mb)
 Block hard limit: 115328000 (450500.00Mb)
 Client store marker: 0

Client store marker ist bei älteren Versionen 0, solange das Backup nicht erfolgreich beendet ist, bei neueren Versionen hingegen gilt das nicht mehr. Auf dem Client hingegen können wir nur das Tool bbackupquery nutzen. Dies ermöglicht, ähnlich wie ein FTP-Client, ein Stöbern in den gesicherten Daten.

Ein automatisches regelmäßiges Backup wird durch einen Start über den Cron-Daemon erreicht. Soll das Backup zum Beispiel jede Nacht um 2 Uhr beginnen, dann kann man den folgenden Eintrag verwenden. Die Ausgabe wird nach /dev/null geleitet, da alle Ausgaben per Mail an den Administrator gehen und wir nicht mit trivialen Mails wie der Meldung, dass das Backup begonnen hat, belästigt werden wollen.

0 2 * * * /usr/sbin/bbackupctl sync > /dev/null

Falls Sie in Ihrer Mail nun nach jedem Backup-Vorgang zwei E-Mails vorfinden, die lapidar behaupten, dass etwas schiefgegangen sei (»The backup daemon on [host] reported an unknown error.«), dann können Sie versuchen, in das Skript etc/boxbackup/bbackupd/NotifySysadmin.sh in Zeile 5 folgendes einzufügen:

if [ "$1" = "backup-start" -o "$1" = "backup-finish" ]; then
 exit 0
fi

Überhaupt kann man das Skript nach Belieben ändern, die Meldungen übersetzen usw. Leider hat auch dieses Skript je nach Installation verschiedene Namen, auf manchen Systemen heißt es notifyadmin. Man sollte seine Konfiguration und damit den Namen des Skripts systemweit vereinheitlichen.

War's das?

Nein. In der Anleitung von BoxBackup steht ausdrücklich, dass die für die Verschlüsselung des Backups verwendeten Schlüssel separat zu sichern sind. Ohne Schlüssel ist keine Wiederherstellung einer Sicherung möglich, daher sollten wir das beherzigen! Warum BoxBackup dies nicht selbst automatisiert, ist mir unklar. Wahrscheinlich ist der Grund einfach, dass noch nicht alle Features implementiert sind.

Meine Überlegung war, dass ein Backup der Daten sowieso nicht ausreichend ist, um ein System wieder herzustellen. Da Systemdateien nicht gesichert werden, sind zur kompletten Wiederherstellung noch mindestens zwei Angaben nötig: Informationen zur Rekonstruktion der Partitionierung und die Liste der installierten Pakete. Zusammen mit den Schlüsseldateien von BoxBackup lassen sich diese Daten mittels eines Skripts sichern. Als Vorbereitung dazu legen wir im Backup-Verzeichnis auf dem Backup-Server ein Unterverzeichnis clients an:

mkdir /mnt/backup/clients
chown bbstored:bbstored /mnt/backup/clients

Ich habe für das Skript den Ansatz gewählt, alle Daten von den Clients aus zu übertragen. So muss man es zwar auf allen Clients installieren, hat aber viel bessere Kontrolle über den Vorgang. Das Skript konfiguriert sich selbst und ist daher für alle Clients identisch. Ich habe es unter dem Namen /usr/local/sbin/dobackup gespeichert (Execute-Rechte nicht vergessen). Sie können es auch herunterladen.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung