Login
Newsletter
Werbung

So, 8. Februar 2009, 00:00

Das Backup-Programm BoxBackup

Platzsparendes netzwerkweites Backup

Weitere Maßnahmen

Auskunft

Das Kommando bbstoreaccounts info ist die einzige Möglichkeit, Informationen über den Zustand des Backups zu erhalten. Komfortabel wäre das, wenn ein einzelnes Kommando eine Übersicht über alls Clients ausgeben würde. Solch ein Kommando existiert jedoch nicht, daher habe ich selbst eines geschrieben, das lediglich die Shell (Bash) benötigt. Ich habe es unter dem Namen bbs gespeichert - der Name ist analog zu lvs u.a. gewählt und könnte mit BoxBackup Show assoziiert werden. Die im folgenden Listing angegebene Datei ist auch als Download verfügbar. Eine Beispielausgabe sieht so aus:

Client ClientID used % old % del % dir % Limit soft/hard
client01 00000001 703 35 182 9 19 0 35 1 2000 3000
client02 00000002 180 18 101 10 0 0 6 0 1000 1500
client04 00000004 1162 38 311 10 0 0 6 0 3000 4000
client08 00000008 800 26 17 0 309 10 5 0 3000 4000
client09 00000009 858 28 6 0 0 0 6 0 3000 4000
client15 00000015 33 6 1 0 0 0 2 0 500 1000
client16 00000016 1693 42 0 0 0 0 12 0 4000 5000
client17 00000017 1811 45 1221 30 307 7 7 0 4000 5000

Alle Größen sind hier in Megabytes angegeben. Bis auf den »Marker« entsprechen die Angaben denen des Kommandos bbstoreaccounts info.

Vor dem ersten Einsatz des Skriptes sollte man prüfen, ob die Blockgröße von BoxBackup tatsächlich 4096 Bytes ist, und ggf. die Variable BlockSize ändern. Außerdem muss man ClientDir anpassen.

bbs

#!/bin/sh
BlockSize=4096
BlocksPerMB=$((1024 * 1024 / $BlockSize))
ClientDir=/mnt/backup/clients
# Find out hostnames of clients
cd "$ClientDir"
for i in *; do
 if [ "$i" = "*" ]; then break; fi
 if [ -d "$i" ]; then
 n=$(grep AccountNumber $i/boxbackup/bbackupd.conf | sed -e 's/AccountNumber = 0x//')
 clients[$n]=$i
 fi
done
# Crate output
echo "Client ClientID used % old % del % dir % Limit soft/hard"
for i in $(cat /etc/boxbackup/bbstored/boxbackup-server-accounts.txt); do
 info=$(bbstoreaccounts info ${i%:*})
 while read line; do
 value=$(echo $line | cut -d : -f 2 | cut -d ' ' -f 2)
 case $line in
 Account\ ID:*)
 cid=$value
 ;;
 Blocks\ used:*)
 used=$(($value / $BlocksPerMB))
 ;;
 Blocks\ used\ by\ old\ files:*)
 old=$(($value / $BlocksPerMB))
 ;;
 Blocks\ used\ by\ deleted\ files:*)
 del=$(($value / $BlocksPerMB))
 ;;
 Blocks\ used\ by\ directories:*)
 dir=$(($value / $BlocksPerMB))
 ;;
 Block\ soft\ limit:*)
 soft=$(($value / $BlocksPerMB))
 ;;
 Block\ hard\ limit:*)
 hard=$(($value / $BlocksPerMB))
 ;;
 Client\ store\ marker:*)
 marker=$value
 ;;
 esac
 done <<< "$info"
 usedp=$(($used * 100 / $soft))
 oldp=$(($old * 100 / $soft))
 delp=$(($del * 100 / $soft))
 dirp=$(($dir * 100 / $soft))
 printf "%-12s %s%7u %3u%7u %2u%7u %2u%6u %2u%8u%9u\n" ${clients[10#$cid]} "$cid" "$used" "$usedp" "$old" "$oldp" "$del" "$delp" "$dir" "$dirp" "$soft" "$hard"
done

Aufbewahrung von Sicherungen an anderen Orten

Echte Sicherheit vor Datenverlust hat man nicht, solange das Backup am gleichen Ort wie das Original aufbewahrt wird. Ein Brand oder andere Katastrophen könnten das Backup zerstören. Bei einem Backup auf Band kann man leicht sein Gewissen beruhigen, indem man das Band nach dem Backup an einen anderen Ort bringt. Sehr zu empfehlen ist ein Bankschließfach, man muss ja nicht jedes Tagesband dort abliefern.

Bei einer Sicherung auf Festplatte wird die Sache problematischer. Es hängt allerdings davon ab, wo der Backup-Server steht. Ist er räumlich von den zu sichernden Rechnern getrennt, wie es in größeren Organisationen der Fall sein dürfte, ist automatisch mehr Sicherheit gegeben. Zudem kann man dann auch einen gelegentlichen Austausch der Festplatten durchführen, die dann an einem sicheren Ort deponiert werden. Ist der Backup-Server nicht räumlich getrennt, sollte man die Daten regelmäßig zusätzlich sichern. Eine mobile Festplatte dürfte in den meisten Fällen ausreichen. Man kann mein Skript "testbackup.sh" verwenden, um zugleich mit dem Kopieren auf eine externe Festplatte eine Integritätsprüfung vorzunehmen.

Grafische Frontends

Gerne hätte ich noch das grafische Frontend »boxi« vorgestellt, aber ich konnte es nicht compilieren und kein Binärpaket zum Laufen bringen. Es ist ohnehin noch in einem sehr frühen Entwicklungsstadium.

Fazit

BoxBackup 0.10 dürfte eines der besten Programme zum Sichern eines Rechnernetzes auf der Festplatte eines Backup-Servers sein. Es ist effizient sowohl bei der Übertragung als auch bei der Speicherung und bietet die Möglichkeit, auch ältere Dateiversionen wieder herzustellen. Die Verschlüsselung der Daten macht es einerseits sehr sicher, andererseits auch etwas umständlicher einzurichten. Auch wenn einige Features noch nicht implementiert sind, ist es auf jeden Fall den Aufwand wert. Zumindest für einige Anwender wäre eine grafische Oberfläche und eine automatisierte Einrichtung wünschenswert.

Die Unterstützung der Anwender erfolgt über die Mailingliste mit meist sehr kurzen Reaktionszeiten. Noch ist das Mailaufkommen auf dieser Liste gering, so dass die Entwickler und erfahrenen Anwender auf alles eingehen können. BoxBackup ist für mich ein Musterbeispiel einer gut funktionierenden Open-Source-Entwicklung.

Ausblick

Version 0.11 von BoxBackup ist weiterhin in Arbeit. Sie wird eine Portierung auf Windows und viele weitere Features und Korrekturen bringen. Bei der derzeitigen Entwicklungsgeschwindigkeit ist noch kein Erscheinungstermin abzusehen. Debian 5.0 enthält einen Veröffentlichungskandidaten dieser Version. Normalerweise werden ja in eine stabile Distribution keine Testversionen von Software aufgenommen, aber in diesem Fall ist die aktuelle Entwicklerversion so viel besser als die letzte offizielle Version, dass dies verständlich ist. Die Homepage des Programms enthält noch einige weiterführende Hinweise und Tricks.

  • Dieses Werk wurde unter der Commons Attribution-Share Alike Lizenz veröffentlicht. Kopieren, Verbreiten und/oder Modifizieren ist erlaubt unter den Bedingungen der Commons Attribution-Share Alike, veröffentlicht von der Creative Commons.

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