Skip to main content.

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv
 

Die wichtigste Tätigkeit beim Arbeiten mit Computern wird oft sträflich vernachlässigt: das regelmässige Erstellen eines Backups. Wie man das Anlegen von Backups automatisiert, erfahren Sie in diesem Beitrag.

Ist-Analyse

Wer keine regelmässigen (!) Backups erstellt, der lebt gefährlich. Das weiss man aber, wenn es zu spät ist und alle oder ein Teil der Daten durch einen Festplatten-Defekt oder einen Virus verloren gegangen ist.

Spätestens dann denkt man darüber nach, wieviel Zeit investiert wurde, die Dokumentation oder das Programm zu erstellen, die Linksammlung, die letzte Heizkostenabrechnung etc. pp. Besonders wird man sich auch über verloren gegangene Digitalfotos "freuen".

Da die Evolution den Menschen geprägt hat, was bedeutet, dass er sich über langfristige Folgen seinen Handelns wenig Gedanken macht und - um keine unnötige Energie zu verbrauchen - nur die überlebensnotwendigen Dinge tut, wird man i. d. R. nicht gerne zeitintensive Backups anfertigen.

Rettung naht

Das war früher! Da wurden wöchtenlich oder monatlich Vollsicherungen durchgeführt und dann - im Optimalfall - täglich Differenzsicherungen gemacht.

Beim "Recovern" wurde zuerst die Vollsicherung und danach alle bis zum Tag X erstellten Differenzsicherungen wieder eingespielt. Dazu waren meist viele Bänder oder CDs/DVDs nötig.

Dieses Vorgehen ist nicht mehr zeitgemäss. Um Festplatten mit grosser Kapazität zu sichern, wären sehr viele DVDs nötig, die man auch noch manuell wechseln müsste. Für den normalen Anwender ist das nicht akzeptabel.

Viel einfacher und billiger ist es, die zu sichernden Daten nicht auf DVDs, sondern auf eine zweite Festplatte zu speichern ! Diese sind billig zu haben und können entweder über einen USB-Port schnell angesteckt werden oder ein Sicherungsserver kann die Daten über das lokale Netz sichern. Das soll nachfolgend genauer erklärt werden.

Sichern übers Netz

Jetzt wird es Zeit, den alten PC wiederzubeleben und dort ein kleines Linux-System (Debian, Ubuntu ...) zu installieren - eigentlich egal welches. Eine grafische Oberfläche ist nicht nötig. Bei mir übernimmt diese Aufgabe ein Pentium II Rechner, den ich erst kürzlich auf eine 450 MHz CPU "upgegraded" habe (gibt es inzwischen für 8 Euro).

Dann sollte man sich noch am besten eine neue Festplatte mit grosser Kapazität besorgen (> 100 GByte) und die eigentliche Sicherungssoftware dirvish installieren: apt-get install dirvish. Selbstverständlich ist auch dirvish eine Open Source Software.

... mit dirvish !

Es soll wie folgt ablaufen: Jeden Tag um 22:00 Uhr schaltet sich der Sicherungsserver automatisch ein. Das muss man vorher im BIOS einstellen, auch bei älteren Geräten sollte das kein Problem darstellen. Falls es doch Probleme geben sollte, tut es auch eine Zeitschaltuhr aus dem Baumarkt (wenn es geht aber ohne eingebaute Knopfzellen-Batterie).

Nach dem Hochfahren, wird Punkt 22:04 Uhr ein Skript aktiv, welches über die Unix Zeitsteuerung ("CRON") gestartet wird, und versucht eine ssh-Verbindung zum Zielrechner (dort wo die zu sichernden Daten liegen) aufzubauen.

Falls das gelingt, werden z.B. alle Daten des Home-Verzeichnisses gesichert (Snapshot Sicherung), wobei dirvish ab dem zweiten Sicherungslauf nur noch Dateien sichert, die in der Zwischenzeit geändert wurden, alle anderen Dateien werden mit "Hardlinks" versehen. Das bedeutet, dass für eine Differenzsicherung nicht viel Platz benötigt wird, es sieht aber so aus, als wären alle Dateien gesichert worden.

Anschliessend fährt sich der Rechner wieder selbständig herunter und schaltet sich aus, bis zum nächsten Tag, dann wiederholt sich der ganze Ablauf ...

Voraussetzung

Es ist sinnvoll, mindestens 2 Partitionen auf dem zu sichernden Rechner einzurichten: eine für das Betriebssystem, die andere für die persönlichen Daten. Die beiden Partitionen werden auf unterschiedliche Art und Weise gesichert.

  • Die Betriebssystem-Partition sollte nach jeder grösseren Neuinstallation von Software mit Partimage gesichert werden. Dieses Tool verwende ich schon länger und hatte noch nie Probleme damit. Partimage sichert keine einzelnen Dateien, sondern die ganze Festplatte in eine Datei ("Image").
    Zusätzlich dazu sollte man noch die Verwaltungsinformationen der Platte sichern:
    • Partitionstabelle:
      dd if=/dev/hda of=hda_mbr.img count=1 bs=512
    • bei Extended Partitions:
      sfdisk -d /dev/hda > partitions_hda.txt
  • Die Home-Verzeichnisse mit den Daten werden mit dirvish gesichert (s.u.).

dirvish Konfiguration

Dirvish erlaubt eine "rollierende" Sicherung von Daten (daher auch der Name) und basiert auf dem Tool rsync. In dirvish heisst ein zu sicherndes System "bank" und bestimmte (Unter-)Verzeichnisse "vaults" (Tresore).

Es gibt eine zentrale Steuerdatei: /etc/dirvish/master.conf

## Example dirvish master configuration file:

bank:
        /mnt/hdb1/hd_backup/targetsystem1
xdev: 1
index: gzip
image-default: %Y%m%d-%H:%M

exclude:
        lost+found/
        core
        *~
        .nfs*
Runall:
        home
        root
expire-default: +15 days
expire-rule:
#       MIN HR    DOM MON       DOW  STRFTIME_FMT
        *   *     *   *         1    +3 months
#       *   *     1-7 1,4,7,10  1
#       *   *     *   *         1    never

Dort wird das "bank" Sicherungsverzeichnis festgelegt, bestimmte Dateien von der Sicherung ausgeschlossen und festgelegt welche clients gesichert werden sollen (home und root). Ferner kann man die Aufbewahrungszeit sehen (+15 Tage) und dass die am Sonntag (1st Day Of Week) gesicherten Daten 3 Monate gesichert werden.

Nun noch die zwei Beispiel Client-Konfigurationsdateien.

/mnt/hdb1/hd_backup/targetsystem1/home/dirvish/default.conf für "home":

client: root@targetsystem1
tree: /home
exclude:
        *.bak
        *.kde/share/cache/*
        .mozilla/default/*/Cache/*
        .mozilla/firefox/*/Cache/*
        .mozilla/clemens/*/Cache/*
        .thumbnails
        Desktop/Trash/*

/mnt/hdb1/hd_backup/targetsystem1/root/dirvish/default.conf für root:

client: root@targetsystem1
tree: /
exclude:
       /var/cache/apt/archives/*.deb
       /var/cache/man
       /var/tmp
        /tmp
        *.bak
        /proc
        /home
        /bin
        /dev

Wichtig sind in diesen Client-Steuerdateien nur die Zeilen

  • "client", dort wird der Anmeldename (meistens root) plus das Zielsystem definiert und
  • "tree", dort wird definiert, welches Verzeichnis des Zielsystems gesichert werden soll.

Man beachte ausserdem die Verzeichnisstruktur auf dem Sicherungsserver: Auf der Ebene unter /mnt/hdb1/hd_backup/targetsystem1 stehen jeweils die beiden "Client" Verzeichnisse "home" und "root", darunter muss es je ein "dirvish" Verzeichnis mit der Konfigurationsdatei "default.conf" geben.

Keine Ausrede mehr

... sollte es jetzt mehr geben, wenn es um das Thema Sicherung geht. Es muss nur sehr wenig in den Konfigurationsdateien eingestellt werden. Am besten liest man ein wenig in der Dokumentation (dirvish guide von Jason Boxman) auf der dirvish Website.

Was ich nicht erwähnt habe ist, dass der Sicherungsserver die Öffentlichen Schlüssel der zu sichernden Systeme haben muss, damit bei der Anmeldung keine Passwortabfrage erscheint, es darf auch keine Passphrase definiert werden.

Es gibt viele weitere Funktionen, z.B. eine Simulationsfunktion, welche Backupregel verwendet werden wird und eine Suchfunktion, mit der sehr schnell über den bei der Sicherung angelegten Index gesucht werden kann.

Ausserdem kann über ein Pre- und Post-Processing z.B. eine Datenbanksicherung gestartet werden oder am Ende das System automatisch heruntergefahren werden.

Angeblich könnten auch Windows-Nutzer diese Backup-Methode einsetzen (über Cygwin).

Ein Restore geht übrigens sehr einfach, indem die Dateien einfach mit cp -a kopiert werden, selbstverständlich funktioniert das auch mit tar.

Wer eine sehr einfache, benutzerfreundliche Möglichkeit sucht, ein Backup durchzuführen, sollte sich sbackup unter Ubuntu ansehen.

Kommentar schreiben


Sicherheitscode
Aktualisieren