Backups sind Pflicht, sollen die Daten auch nach einem Crash noch verfügbar sein. Kup automatisiert unter KDE SC 4 und Plasma 5 diese Aufgabe elegant.
Sobald in Foren oder im IRC ein Anwender von Datenverlust berichtet, kommt unweigerlich als erster Ratschlag zurück, doch ein Backup einzuspielen. Fast ebenso unvermeidlich folgt dann das kleinlaute Bekenntnis des Betroffenen, kein Backup zu besitzen und sich noch nie mit dem Konzept auseinandergesetzt zu haben. Da gilt es dann mit dem sarkastischen Kommentar zu leben, dass wahre Männer/Frauen halt keine Backups brauchen.
Abseits des triefenden Sarkasmus ist jedoch an dem Spruch durchaus etwas Wahres dran, denn prinzipiell braucht man nur Git zur Datensicherung. So nutzt auch das Programm Etckeeper [1] zur Versionsüberwachung der Konfigurationsdateien unter /etc/ dieses Prinzip. Zugegeben handelt es sich hier um einen spartanischen Ansatz mit vielen manuellen Eingriffen und Nachteilen bei großen Dateien. Schließlich entstand Git zur Versionskontrolle des Kernels, wo die Aufgabe lautet, große Mengen kleiner Dateien platzsparend zu verwalten und jederzeit auf ältere Revisionen zurückgreifen zu können.
Git-basierte Backups
Das läge schon sehr nah am Konzept eines idealen Backups, wären da nicht die großen Dateien. So erreichen etwa die Festplatten von virtuellen Maschinen schnell Größen von 10 GByte und mehr. Git nutzt den Algorithmus Xdelta [2], um Unterschiede zwischen zwei Dateien zu bestimmen, sodass es sie nur inkrementell speichern muss. Xdelta zeigt sich jedoch von solch großen Dateien völlig überfordert.
Hier kommt Bup [3] als Grundlage von Kup [4] ins Spiel. Bup bedient sich rollender Prüfsummen, basierend auf dem Rolling-Checksum-Algorithmus aus Rsync [5], um die Differenz zweier Dateien zu ermitteln, und speichert nur die Unterschiede. Dieser Vorteil macht sich bei großen Dateien schnell bemerkbar: Statt einer Hash-Summe pro Datei teilt Bup große Files in viele kleine Teile zu je 128 Byte, die jeweils eine eigene Prüfsumme erhalten. So lassen sich auch kleine Unterschiede in großen Dateien effektiv identifizieren und speichern.
Im Gegensatz zu Rsync setzt Bup aber zusätzlich Deduplikation [6] unter Verwendung von SHA1-Hashes ein, um redundante Daten zu identifizieren und zu entfernen. Die Ergebnisse sichert es daraufhin im Git-Paketformat Packfile [7]. Weitere technische Einzelheiten vermittelt auf recht unterhaltsame Art das Designdokument zu Bup [8].
KDE-Oberfläche für Bup
Da sich nicht jeder Anwender für die Arbeit auf der Kommandozeile begeistern kann, gibt es für KDE eine Oberfläche, die sowohl volle Backups mittels Rsync als auch inkrementelle Sicherungen via Bup unterstützt. Ersteres eignet sich vor allem, um etwa umfangreiche Musik- oder Fotosammlungen auf mehreren Datenträgern zu synchronisieren. Für Sicherungen eines Home-Verzeichnisses oder andere sich oft ändernde Datenbestände eignet sich hingegen die Git-basierte inkrementelle Herangehensweise von Bup besser.
Kup besteht hauptsächlich aus einem Konfigurationsmodul, das sich in die Systemeinstellungen integriert, und einem Daemon, der überwacht, wann das in der Konfiguration definierte Backup-Ziel eingehängt oder angeschlossen ist, um sich dann als Icon im Systemabschnitt der Kontrollleiste zu zeigen. Zum Zugriff auf die gesicherten Daten steht ein KIO-Slave [9] zur Verfügung, der die Ansicht der gesicherten Dateien im Dateimanager erlaubt, sowie eine Applikation zum Rücksichern einzelner Dateien.
Im einfachsten Fall sichert Kup Änderungen der in der Konfiguration angegebenen Verzeichnisse und Dateien automatisch, sobald das definierte Ziel der Sicherung verfügbar wird. Das kann beim Rechnerstart durch das automatische Einhängen einer entsprechenden lokalen oder Netzwerk-Partition sein oder auch beim Anstecken einer USB-Festplatte zur Laufzeit erfolgen. Im Gegensatz zu vielen anderen Backup-Programmen spricht Kup eine externe Platte mit NTFS oder FAT32 als Dateisystem direkt und ohne Verwendung von Hardlinks an.
Kup läuft in der aktuellen Version 0.5.1 unter KDE SC 4, für Plasma 5 gibt es bereits Version 0.6. Während die Version für KDE SC 4 in vielen Distributionen in den Archiven liegt, findet man Kup 0.6 für Suse, Arch Linux und Fedora nur auf der Webseite KDE Apps.org als Download [10]. Für Debian oder Ubuntu gibt es noch keine Pakete für Plasma 5, hier müssen Sie das Paket selbst bauen. Die beiden Versionen von Kup arbeiten jeweils nur unter der designierten Version von KDE. Überprüfen Sie nach der Installation zusätzlich, ob die Pakete bup und rsync installiert sind.
Konfiguration
Nach der Installation von Kup finden Sie in den Systemeinstellungen ein neues Modul mit dem Namen Datensicherungen (Abbildung 1). Nach dem Öffnen teilt Kup mit, dass der standardmäßig vorhandene Sicherungsplan noch nie ausgeführt wurde (Abbildung 2) – ihn gilt es nun zu konfigurieren. Ein Klick auf den entsprechenden Schalter öffnet das Fenster mit den Einstellungen. Die empfohlene Art der Datensicherung ist bereits angehakt und bedient sich des oben beschriebenen Git-basierten Vorgehens (Abbildung 3).
Bei der Quellenwahl (Abbildung 4) können Sie Verzeichnisse und Dateien einbeziehen oder ausschließen. Im nächsten Reiter legen Sie das Ziel des Backups fest. Hier besteht die Auswahl zwischen Dateisystempfad und Externe Quelle. Bei Ersterem kann es sich um eine weitere eingebaute Festplatte oder eine eingehängte Netzwerkfreigabe handeln. Als externe Quellen gelten via USB angeschlossene Festplatten und Speichersticks oder auch SD-Karten und eSATA-Platten (Abbildung 5). Der Grund für das Auslagern externer Quellen liegt in der Funktion von Kup, automatisch ein Backup auf einen als Ziel definierten USB-Speicher vorzunehmen, den Sie zur Laufzeit anstecken.
Im nächsten Reiter legen Sie den Zeitplan für Ihre Backups fest. Hier bietet Kup drei Möglichkeiten an: Die Manuelle Aktivierung lösen Sie über das Kup-Icon im Systemabschnitt der Kontrollleiste aus. Datensicherungen in festen Zeitintervallen stellen Sie unter dem Punkt Zeitraum ein. Die etwas unglücklich übersetzte letzte Option Verbrauchte Zeit nimmt einen Sicherunglauf vor, falls der Rechner länger als das vorgegebene Zeitintervall eingeschaltet bleibt. Unterhalb davon legen Sie noch fest, ob Sie wünschen, dass Kup in jedem Fall vor dem Beginn eines Backups nachfragt.
Der Reiter Erweitert (Abbildung 6) bietet neben der Integration von versteckten Dateien eine Überprüfung der Integrität der zu sichernden Daten an. Der wichtigste Punkt hier ist aber der unterste: Er erzeugt Wiederherstellungsinformationen, um auch teilweise korrupte Sicherungen etwa durch defekte Sektoren wiederherstellen zu können. Dazu bedient sich Kup einer Funktion von Bup, bei der das Prüfsummenformat Par2 [11] zum Einsatz kommt. Es erzeugt anhand der Redundanz in einer Datei ein File mit Wiederherstellungsinformationen. Das vergrößert das Backup um rund 10 Prozent und braucht auch etwas länger.

Erweitert finden sich einige sehr nützliche Optionen.” width=”300″ height=”112″ />
Abbildung 6: Im ReiterErweitert finden sich einige sehr nützliche Optionen.Damit ist die Konfiguration von Kup abgeschlossen. Sie dürfen mehrere Datensicherungspläne mit verschiedenen Aufgaben, Zielen und Zeitplänen nebeneinander vorhalten; neue Pläne fügen Sie über das Pluszeichen oben rechts hinzu.
Testlauf
Falls Kup nach einem Klick auf Anwenden zum Abschluss der Konfiguration kein Icon im Systemabschnitt des Panels zeigt, hilft ein Neustart des Rechners. Haben Sie als Ziel für Ihre Sicherungen ein externes Medium angegeben, so erscheint das Icon erst, nachdem Sie das Medium anstecken und das System es einhängt.
Ein Klick auf das Icon bringt die Menüpunkte Datensicherungen konfigurieren und Datensicherungsplan**1 sowie – falls vorhanden – weitere Pläne zum Vorschein (Abbildung 7). Während ein Klick auf den ersten Punkt Sie wieder in die Konfiguration führt, zeigt der zweite Punkt die drei selbsterklärenden Unterpunkte Datensicherung ausführen, Dateien anzeigen und Log-Dateien anzeigen. Der erste löst eine Sicherung manuell aus; der zweite öffnet einen einfachen Dateimanager, der die gesicherten Dateien zur Ansicht und Wiederherstellung anzeigt. Die Log-Dateien zeigen den Verlauf und Erfolg der Sicherung an. Hier sollte als letzter Satz Kup successfully completed the bup backup job stehen.

Abbildung 7: Über das Kup-Icon in der Kontrollleiste gelangen Sie jederzeit an die Bedienelemente von Kup.
Bei einer ersten Sicherung konnte Kup auf unserem Testrechner nicht alle zum Backup festgelegten Dateien des Home-Verzeichnisses sichern (Abbildung 8). Bei den fehlenden Daten handelte es sich um Dateien, die Googles Webbrowser Chrome in /home/USER/.cache/google-chrome temporär vorhielt. Nachdem wir dieses Verzeichnis in der Konfiguration ausschlossen, lief das Backup sauber durch.
Die vorherige Meldung im Log, Kup habe das Backup nicht beenden können, erwies sich als übertrieben: Kup schloss die Sicherung sauber ab, allerdings ohne besagte Dateien mit zu sichern (Abbildung 9). Auch ein Backup mittels Rsync zeigte nicht gesicherte Daten. Dabei handelte es sich aber, wie im Fall der Sicherung mit Bup, um Daten, die man vermutlich nicht sichern will und daher bedenkenlos ausschließen kann.
Fazit
Kup läuft, einmal konfiguriert, völlig im Hintergrund. Selbst Sicherungen auf USB-Speicher stößt es nach Anstecken und Einhängen automatisch an. Genauso gut können Sie Backups aber auch manuell auslösen.
Im Vergleich mit dem von Desktop-Anwendern gerne verwendeten Lucky Backup [12] fallen die Sicherungssätze von Kup um 10 bis 15 Prozent kleiner aus. Als Highlights bietet Kup eine Integritätsprüfung der zu sichernden Daten sowie das Erstellen von Wiederherstellungsinformationen, aus denen sich auch korrupte Backups oft noch restaurieren lassen. Beide Features beherrscht kein anderes Backup-Programm für den Desktop.
Somit empfiehlt sich Kup als pfiffige und verlässliche Backup-Lösung für KDE-Nutzer, nicht zuletzt dank der sauberen Integration als KC-Modul in die Systemeinstellungen und der Verwendung einer Git-Struktur.
Infos
[1] Etckeeper: http://www.linux-magazin.de/Online-Artikel/Etckeeper-stellt-Systemkonfiguration-unter-Versionskontrolle
[2] Xdelta: http://en.wikipedia.org/wiki/Xdelta
[3] Bup: https://github.com/bup/bup
[4] Kup: http://kde-apps.org/content/show.php/Kup+Backup+System?content=147465
[5] Rsync: http://de.wikipedia.org/wiki/Rsync
[6] Deduplikation: http://de.wikipedia.org/wiki/Deduplikation
[7] Git-Packfile: https://schacon.github.io/gitbook/7_the_packfile.html
[8] Bup-Design: https://github.com/apenwarr/bup/blob/89ac418d84e29ba482bbd21ebc1172c2d1ff5507/DESIGN
[9] KIO: http://de.wikipedia.org/wiki/KDE_Input/Output
[10] KDE-Apps: http://kde-apps.org/content/show.php/Kup+Backup+System?content=147465
[11] Par2: http://de.wikipedia.org/wiki/PAR2
[12] Lucky Backup: http://luckybackup.sourceforge.net












