# Das &kbackup; Handbuch (für Version 1.0)

## Einführung

&kbackup; ist ein KDE-Programm zur Datensicherung von beliebigen Dateien und Verzeichnissen, wobei es einen einfach zu bedienenden Verzeichnisbaum zur Selektion zur Verfügung stellt. Gewählte Einstellungen können in so genannten "Profil" Dateien gespeichert werden, wobei ein Profil eine einfache Textdatei ist, welche die Auswahl für Verzeichnisse und Dateien beinhält, welche für die Sicherung zu inkludieren oder zu exkludieren sind. Ebenso beinhält es die Definition, wohin die Sicherung geschrieben werden soll. Das Ziel einer Sicherung kann entweder ein lokales Verzeichnis sein (z.B. ein lokal eingebundenes Gerät wie ein ZIP Laufwerk, USB Stick, etc.) aber es kann auch ein anderer Rechner - unter Angabe einer URL (z.B. smb://rechner/ziel) - sein, um die Daten auf einen zentralen Server zu sichern.

Das Programm kann auch eine automatische Sicherung ohne grafische Benutzeroberfläche durchführen. Man erstellt einfach ein Profil, welches &kbackup; sagt, was gesichert werden soll, wenn es im nicht interaktiven Modus gestartet wird, z.B. aus einem cron-job heraus.

Das Programm wurde so entworfen, dass es möglichst einfach in der Bedienung ist und auch von nicht Computer Experten bedient werden kann.

Das Archivierungsformat ist das wohlbekannte Tar-Format, wobei die Daten komprimiert gespeichert werden (bzip2 oder gzip) können.

Die aktuelle Implementierung beinhält nur den Sicherungs Schritt. Um die Daten wieder in das System zurückzuspielen muß man derzeit z.B. konqueror benutzen, um eine TAR Sicherungs Datei zu öffnen, und dann Teile daraus z.B. via Drag/Drop in das System zurückbringen. Das ist einer der Vorteile der Verwendung des weitverbreiteten TAR Dateiformates.

Wenn die Dateien komprimiert wurden, so kann man alle vom aktuellen Verzeichnis aus rekursiv absteigend mit folgendem Kommando wieder entpacken:

find . -name \*bz2 -print0 | xargs -0 bunzip2

## Verwendung von &kbackup;

Alles was sie tun müssen, ist die Auswahl der Verzeichnisse, die gesichert werden sollen. Dies wird erreicht, indem man in der Baumansicht auf der linken Seite des Hauptfensters die Verzeichnisse anwählt.

Wenn sie ein Verzeichnis wählen, wird &kbackup; automatisch alle Dateien und Unterverzeichnisse darin sichern. Wenn sie Teile in einem selektierten Verzeichnis von der Sicherung ausnehmen wollen, müssen sie einfach die entsprechenden Verzeichnisse oder Dateien darin deselektieren.

Generell bedeutet das: Ein selektiertes Verzeichnis wird alle Dateien und Unterverzeichnisse darin sichern, außer jene Teile, die explizit deselektiert wurden. Das bedeutet auch, wann immer sie ein Profil (siehe weiter unten) wiederverwenden, werden auch alle neuen Verzeichnisse und Dateien, die in der Zwischenzeit dazugekommen sind, ebenfalls gesichert.

Hier ist ein Bildschirmfoto von &kbackup; Bildschirmfoto vom Hauptfenster

### Verwendung von Profilen

Um eine Auswahl für spätere Verwendung zu behalten wird diese einfach in ein &kbackup; Profil gespeichert. Verwenden sie dafür das Datei Menü und wählen sie "Speichere Profil".

Um eine Auswahl wieder zu Laden verwenden sie das Datei Menü "Lade Profil".

Um alle Einstellungen und Selektionen wieder zu entfernen verwenden sie das Datei Menü "Neues Profil".

&kbackup; speichert in einem Profil die Selektionen für alle inkludierten Dateien und Verzeichnisse, für alle exkludierten Dateien und Verzeichnisse, das Ziel für die Sicherung, das gewählte Archiv-Präfix, das gewählte Größenlimit für einen Archiv Teil und anderes.

Wenn sie sich die Aufgabe der täglichen Datensicherung einfach machen wollen, speichern sie ihre Auswahl in einem Profil (eine Datei mit der Endung .kbp) und geben dieses Profil beim Start von &kbackup; als Argument mit an.

z.B.:

kbackup meineDaten.kbp

Hinweis: sie können auch eine Verknüpfung zu einer .kbp Datei auf dem Arbeitsplatz machen, um gleich direkt &kbackup; mit dessen Einstellungen zu starten, da .kbp als bekannter Dateityp registriert ist.

### Archiv Teile

Da ein Medium normalerweise eine limitierte Kapazität hat (z.B. 100MB ZIP Diskette), teilt &kbackup; die Sicherung in einzelne Teile auf.

Jeder Archiv Teil hat seinen eigenen Dateinamen, welcher wie folgt aussieht:

backup_2006.08.26-13.04.44_1.tar

Der Name beinhält das Datum und die Uhrzeit der Sicherung (welche für jeden Teil der Sicherung gleich bleibt), und eine angehängte Teil-Nummer (_1 in diesem Beispiel).

Über das Menü Datei/Profil Einstellungen kann ein anderes Präfix als "backup" für die Archive eingestellt werden.

Um unabhängig von der verfügbaren Kapazität des Zielverzeichnisses eine Sicherung in mehrere Archiv Teile einer maximalen Größe aufteilen zu können, kann man im Profile Einstellungen Dialog eine Maximalgröße pro Archiv Teil festlegen. Dies hat z.B. dann Sinn, wenn man eine Sicherung für das nachträgliche Brennen auf eine CD/DVD vorbereiten will. Wenn sie die Größe eines Archiv Teiles explizit limitieren, dann erscheint die verfügbare Größe mit der Markierung (*) im Hauptfenster.

Trotzdem eine "unlimitierte" Größe eingestellt wurde, gibt es zusätzliche Einschränkungen für die Größe eines Archiv Teils:

- limitiert durch die verfügbare Kapazität im Zielverzeichnis (wenn direkt in ein lokales Verzeichnis gesichert wird)

- limitiert durch das "tmp" Verzeichnis wenn die Sicherung auf einen entfernten Rechner kopiert wird (Angabe einer URL), da eine temporäre Datei erzeugt wird, die danach zum Zielrechner übertragen wird.

In den Profil Einstellungen kann auch festgelegt werden, wieviele Sicherungen maximal in dem Zielverzeichnis behalten werden sollen, bevor ältere Sicherungen automatisch gelöscht werden. Wird z.B. ein Wert von 3 eingestellt, wird &kbackup; die letzten 3 Sicherungen behalten und alle älteren Sicherungen werden gelöscht.

Ebenfalls kann im Profil ein Backup als "Inkrementelle Sicherung" definiert werden, wobei hier festgelegt wird, nach wievielen Tagen immer mit einem vollen Backup begonnen wird. Details folgen im nächsten Kapitel.

### Inkrementelle Sicherung

Unter inkrementeller Sicherung versteht man, daß nicht immer alle Dateien gesichert werden, sondern nur jene, die sich seit der letzten Sicherung geändert haben. Dies hat den großen Vorteil, daß die inkrementellen Sicherungen üblicherweise wesentlich weniger Dateien beinhalten und der Sicherungs Vorgang daher wesentlich schneller beendet ist.

Die Vorgehensweise ist also folgende: Im Profil definiert man ein Intervall in Tagen für eine Komplett-Sicherung, z.B. 5. Das bedeutet, &kbackup; sichert alle 5 Tage alle definierten Dateien. An allen Tagen dazwischen - egal wie oft sie &kbackup; mit diesem Profil starten - werden nur jene Dateien gesichert, die sich seit der letzten Sicherung geändert haben. &kbackup; schreibt dafür die Sicherungs Zeitstempel in ihr Profil und weiß somit, was das nächste mal zu tun ist.

Die Sicherungs Dateien die hierbei entstehen beinhalten den Text "_inc", wie z.B.:

backup_2010.06.14-18.50.26_1_inc.tar

Die Komplett-Sicherungs Dateien haben das Kürzel "_inc" nicht, wie z.B.:

backup_2010.06.13-20.58.14_1.tar

Wichtig ist, daß bei einer Wiederherstellung einer Sicherung auf den Rechner nun alle "_inc" Dateien und zuletzt auch die letzte Komplett-Sicherung durchsucht werden müssen, um den Letztstand einer Datei zu finden. Genau das ist auch der Nachteil von inkrementellen Sicherungen (kein Vorteil ohne Nachteil ;-) )

Will man trotz definiertem inkrementellen Zyklus im Profil vorzeitig eine Komplett-Sicherung durchführen, so kann man dies in der Benutzeroberfläche über die Option "Komplett-Sicherung erzwingen" definieren. Startet man &kbackup; über die Kommandozeile, so kann dies mit der Option --forceFull erledigt werden.

Eine erzwungene Komplett-Sicherung startet das Sicherungs Intervall neu, d.h. &kbackup; rechnet den Komplett-Sicherungs Zyklus immer von der zuletzt durchgeführten Komplett-Sicherung.

### Archiv Komprimierung

&kbackup; komprimiert die gesicherten Dateien wenn dies in den Profil Einstellungen eingestellt wurde. Abhängig von der Verfügbarkeit auf ihrem System wird entweder bzip2 oder gzip als Komprimierung verwendet. &kbackup; wird jede einzelne Datei komprimieren und mit einer angehängten Dateiendung (.bzip2 oder .gz) im nicht komprimierten .tar Archiv speichern.

Wenn sie als Ziel ein lokales Verzeichnis gewählt haben (z.B. ihre extra Festplatte, ZIP Laufwerk, etc.) - d.h. sie haben keine URL angegeben - kann &kbackup; die gesamte Sicherung aufgrund der beschränkten Medium Kapazität in einzelne Archiv Teile aufteilen.

z.B.:

backup_2006.08.26-13.04.44_1.tar

backup_2006.08.26-13.04.44_2.tar

### Sicherung automatisieren

Wenn sie den Vorgang der Sicherung automatisieren will, bietet &kbackup; hier verschiedene Kommandozeilen Optionen an:

- --auto

  Wird &kbackup; mit dieser Option und einem .kbp Profil gestartet, so wird das Programm starten, das angegebene Profil laden, die Sicherung durchführen und sich nach Fertigstellung beenden. All das wird mit einer sichtbaren &kbackup; Benutzeroberfläche durchgeführt.

- --autobg

  Wird &kbackup; mit dieser Option und einem .kbp Profil gestartet, so wird der selbe Ablauf durchgeführt wie mit der Option --auto, jedoch wird _keine_ grafische Benutzeroberfläche angezeigt. Daher die Endung "bg" was für "Background" (Hintergrund) steht - alle Operationen werden also im Hintergrund ausgeführt, was damit die passende Option für eine Sicherung darstellt, die z.B. aus einem cron-job gestartet wurde.

  Wird --autobg verwendet werden die Ausgaben von &kbackup;, welche den Fortschritt anzeigen, auf die Standard Fehlerausgabe (stderr) geschrieben. Die Standardeinstellung beinhält ein paar wichtige Angaben zum Fortschritt und eine Zusammenfassung am Schluß. Wird die Option --verbose noch zusätzlich angegeben, so wird auch der Name jeder einzelnen Datei, die gerade gesichert wird, ausgegeben.

## Kommando Referenz

### Das &kbackup; Hauptfenster

#### Das Datei Menü

Datei Neues Profil

- Löscht die Selektion und das Ziel Eingabefeld, um ein neues Profil definieren zu können

Datei Lade Profil

- Lädt ein Profil

Datei Speichere Profil

- Speichert alle Einstellungen in eine Profil Datei

Datei Profil Einstellungen

- In den Profileinstellungen kann man definieren, ob ein Archiv Datei mit dem Namen "backup" beginnen soll, oder ob ein alternativer Name verwendet werden soll. Ebenso kann die Größe eines Archiv Teiles limitiert werden. Siehe Kapitel "Archiv Teile". Diese Einstellungen werden mit in die Profil Datei gespeichert.

Strg+Q Datei Beenden

- Beendet &kbackup;

#### Das Einstellungen Menü

Einstellungen Im Systembereich der Kontrollleiste andocken

- Wird diese Option eingeschaltet, wird im Systembereich ein Symbol angezeigt, welches den Status einer Sicherung anzeigt. Eine Animation bedeutet, daß gerade eine Sicherung läuft. Ansonsten wird ein statisches Symbol angezeigt. Wenn diese Option gewählt wurde, wird &kbackup; mit dem Schließen des Hauptfensters nicht beendet. Das Programm bleibt so lange verfügbar, bis es explizit durch die "Beenden" Aktion beendet wird. Über das Kontextmenü am Symbol im Systembereich kann eine Sicherung - genau wie im Hauptfenster - gestartet oder abgebrochen werden. Im Tooltip des Symbols wird der Sicherungs Status angezeigt (Anzahl schon gesicherter Dateien, Summe des Sicherungsvolumens und die zuletzt gesicherte Datei).

Einstellungen Alle Meldungen erlauben

- Die Aktivierung dieser Option löscht alle intern gespeicherten "Nicht mehr nachfragen" Einstellungen aller Dialoge, die &kbackup; anzeigt.

#### Das Hilfe Menü

&help.menu.documentation;

## Entwickler Leitfaden zu &kbackup;

&kbackup; kann durch Shellscripte (oder andere ausführbaren Programme) erweitert werden, welche an bestimmten Stellen während der Datensicherung gestartet werden. Die Idee dahinter ist es zu ermöglichen Laufwerke einzubinden, Medien auszuwerfen, oder andere System spezifischen Dinge mit den erzeugten Archiv Dateien zu erledigen.

Das script welches ausgeführt werden soll muß mit dem --script Kommandozeilen Argument angegeben werden.

Hier ist ein Beispiel Script

### sliceScript.sh

    #!/bin/sh

    mode=$1
    archive=$2
    target=$3
    mountPoint=$4

    case "$mode" in
     "slice_init" )
        if [ "$mountPoint" != "" ]
        then
          mount /media/zip
          rm -f /media/zip/backup_2*.tar*
        fi
     ;;

     "slice_closed" )
     ;;

     "slice_finished" )
        if [ "$mountPoint" != "" ]
        then
          umount /media/zip
          eject /media/zip
        fi
     ;;
    esac

Das script wird immer mit vier Kommandozeilen Argumenten aufgerufen:

- Aufruf Art

- Archiv (Teil) Dateiname

- Ziel Verzeichnis/URL

- Einhängepunkt (mountpoint) des Zielverzeichnisses wenn es ein lokales Verzeichnis ist ansonsten ein Leerstring

Es gibt drei verschiedene Aufruf Arten:

- slice_init

  wird augerufen bevor ein neuer Archiv Teil auf der Festplatte erzeugt wird

- slice_closed

  wird aufgerufen nachdem ein Archiv Teil erzeugt wurde, aber bevor dieser in das Zielverzeichnis kopiert wurde

  Das kann dazu genutzt werden, um z.B. den Archiv Teil noch zusätzlich an einem anderen Ort zu speichern. Z.B. wurde als Ziel ein zentraler Server angegeben (mit einer Ziel URL), aber sie wollen die letzte Sicherung auch noch auf ihrer lokalen Festplatte zur Verfügung haben.

- slice_finished

  wird aufgerufen nachdem ein Archiv Teil erfolgreich in das Zielverzeichnis kopiert wurde

## Fragen und Antworten

&reporting.bugs; &updating.documentation;

## Mitwirkende und Lizenz

&kbackup;

Programm Copyright © 2006 - 2010 Martin Koller kollix@aon.at

Dokumentation Copyright © 2006 - 2010 Martin Koller

&underFDL; &underGPL;

## Installation

### Wie kommt man zu &kbackup;

Sie können &kbackup; von www.kde-apps.org runterladen. Ebenso befindet sich &kbackup; im openSuse build sercvice.

### Kompilation und Installation

&install.compile.documentation;
&documentation.index;