Programm des Tages: dirvish

Sicherheitskopien sind ein ungeliebtes Thema. Man sollte sie machen, aber viele tun es trotzdem nicht. Dabei gibt es doch das schöne Bon­mot…

Daten, von denen kein Backup existiert, sind unwichtig.

Wer also Daten auf dem Rechner hat, die nicht unwichtig sind, und keine Kopie davon besitzt, der sollte sich Gedanken machen. Und nicht (wie meine Cousine vor einer Weile) erst hinterher fragen, wie man gelöschte Daten wiederherstellt.

Das heutige Programm des Tages, dirvish, nutzt eine interessante Eigenschaft einiger Dateisysteme aus, die sogenannten „Hard Links“. Unter unix-artigen Systemen (wie Linux) gibt es diese schon sehr lange, aber wie ich gelesen habe, werden sie inzwischen auch von Windows schon länger unterstützt.

Bei einem symbolischen (oder Soft-)Link handelt es sich um eine Datei, deren Inhalt auf eine andere Datei verweist. Ein Programm, das den symolischen Link öffnen will, bekommt im Normalfall stattdessen die referenzierte Datei zu sehen. (Im Gegensatz zu einer „Ver­knüp­fung“ auf eine Textdatei bei Windows, die in einem Editor Binär-Zeug anzeigt.)

Ein Hard-Link verweist nicht auf eine andere Datei, es ist dieselbe Datei (und nicht die gleiche), nur in einem anderen Verzeichnis. Jeder Verweis auf die Datei, sowohl der originale wie auch alle folgenden, sind gleichwertig. Wird ein Verweis gelöscht, bleibt die Datei er­hal­ten, bis auch der letzte Verweis verschwunden ist.

Und wie hilft das beim Backup? Es ermöglicht das praktische und platz­sparende Ablegen vieler Backup-Versionen. Beim ersten Anlegen einer Kopie müssen alle Daten kopiert werden, da führt kein Weg drumrum. Bei einer weiteren Kopie wird dann verglichen, welche Daten sich geändert haben, und nur geänderte Daten werden in den Ordner für das neue Backup kopiert. Jede unveränderte Datei wird per Hardlink auf die erste Kopie repräsentiert. Dadurch verbraucht eine Datei, die nicht geändert wird, keinen zusätzlichen Speicherplatz, egal, wieviele Sicherheitskopien man anlegt (außer unter Windows, wenn es sehr viele sind, siehe hier). Außerdem kann man selektiv Kopien löschen. Löscht man die älteste, findet sich die Datei trotzdem noch in allen anderen. Löscht man beliebige Kopien dazwischen, schadet auch das nicht. Wo immer eine Datei per Hardlink vermerkt ist, bleibt sie erhalten. So kann man beliebige Konservierungs­stra­tegien umsetzen, zum Beispiel eine Kopie von letzter Woche, eine vom letzten Monat und eine von jedem Jahr auf­heben und alle anderen im Laufe der Zeit herauslöschen.

Wenn dirvish einmal konfiguriert ist, kann man einfach mit dem Aufruf dirvish-runall eine neue Kopie anlegen. Man kann Backups auch vollautomatisch durchführen lassen, per Cron-Job, aber das möchte ich nicht. Ich lege meine Backups auf USB-Festplatte ab, und um die Daten noch ein wenig sicherer aufzubewahren, wird die nur für das Backup angestöpselt.

Zur Vorbereitung muss man ein paar Einträge in Textdateien machen. Als ich nach einer Backup-Lösung gesucht habe, habe ich auch ein paar grafische Benutzeroberflächen ausprobiert, aber dirvish hat seine Sache einfach besser gemacht. Hier also doch mal wieder die gute alte Konsole.

In der Datei /etc/dirvish/master.conf legt man ab, wo das Backup hin soll, welche Backup-Vorgänge man ausführen will und wann Backups gelöscht werden sollen. Das kann zum Beispiel so aussehen:

bank:
 /mnt/Backup-Platte/Backup

Runall:
 EikesDaten
 etc

expire-default: never

Zu den einzelnen Backup-Vorgängen (wenn man denn mehrere braucht) muss man einen Ordner „dirvish“ anlegen und darin eine Konfigurationsdatei „default.conf“. Für meine Daten sieht die so aus:

client: donald
tree: /home/eike
xdev: 1
image-default: %Y%m%d-%H%M

„xdev“ sorgt hier übrigens dafür, dass nur Daten von einer Partition kopiert werden, so dass die große Datenhalde, die ich unter /home/eike/Daten/ eingehängt habe, nicht berücksichtigt wird.

Der Aufruf für’s erste Backup ist dann zum Beispiel:

dirvish --vault etc --init

Zukünftige Backups kann man wie folgt für alle eingerichteten Backups-Vorgänge („Vaults“) auf einmal anstoßen:

/usr/sbin/dirvish-runall

Es wird Zeit für ein Geständnis: KAlarm (auch ein schönes Pro­gramm) erinnert mich zwar jeden Sonntag daran, ein Backup anzulegen – aber es ist ziemlich lang her, dass ich das auch wirklich getan habe. Als ich heute für diesen Beitrag wieder ein Backup durchgeführt habe, habe ich festgestellt, dass das letzte auf den Tag genau ein Jahr alt war. Das Kopieren hat diesmal fast 40 Minuten gedauert. Normalerweise, bei nur wenigen Änderungen, geht das natürlich deutlich schneller. Nachtrag: Das Backup eine Woche später brauchte 4½ Minuten.

Das wichtigste am Backup ist, dass man es tut.

Und daher hier der Aufruf: Wer kein Backup hat, sollte heute damit anfangen. Hier noch ein paar Tipps der c’t dazu. Für Windows-Sys­teme findet sich hier ein Script, das auch dort die Hardlink-Strategie verwendet.

4 Gedanken zu „Programm des Tages: dirvish“

  1. Ich nutze Synctoy. Leider auch erst, nachdem eine Festplatte vom Kater umgeworfen wurde und diese nur noch merkwürdige Geräusche von sich gibt (ich hab’ sie noch und wenn mal Geld übrig ist, werde ich sie zum Retter geben). Da waren Bilder der letzten 10 Jahre drauf – von Three of Three habe ich nun gar keins…
    Und Linux… ich habe eine CD-Start-Version (Knoppix?), die ich ab und an benötige, wenn die am Samsung-TV angeschlossene Festplatte nicht mehr will. Die GUI finde ich aber optisch grauenhaft, erinnert ein wenig an Windows 3.11 . Gibt es von Linux nichts geschmeidigeres?

    1. Bitter. Ich hatte auch mal einen Festplattenunfall. Nach dem ich dann tagelang mit einem Hexeditor o. ä. dagesessen habe, um meine ersten Digitalfotos zu retten. Hat zum größten Teil geklappt. Was ist denn „Three of Three“?

      Linux-Desktops können sehr unterschiedlich aussehen, es gibt ja ganz verschiedene Oberflächen (KDE, Gnome, Cinnamon, Mate, …). Hier sollte doch für jeden was dabei sein…?
      http://www.google.de/search?q=linux+desktop&tbm=isch

      1. Bei einem (befürchteten) Headcrash komme ich mit einem Hexeditor wohl nicht weit, im Labor wird man das Teil wohl auseinandernehmen.
        Seven of Nine sagt dir aber was, oder? „Three of Three“ klingt, finde ich, nicht so elitär wie „Tertia“, „Secundus“ oder „Primus“, wie ein Bekannter seine Kinder der Anonymität zuliebe im Internet nennt, wenn er über sie berichtet.
        Was an Linux auch ein wenig lästig scheint: Kaufhardware aus anderen Bereichen wird nicht unterstützt. Für mein Raumfeld-System zB (hey, die sitzen in deiner Stadt und haben richtig Probleme, die Software richtig hinzubiegen) gibt es seit neuesten ein kleines Proggie für Windows (selfmade von einem netten Nutzer), und sonst eben nur für Apple & Android – oder eben den hauseigenen Controller (der inzwischen teurer ist als ein Tablet).

        1. Seven of Nine kenn ich auch nur dem Namen nach; Star Trek ist so ziemlich komplett an mir vorbeigegangen. Die Datenschätze wären mir aber glaub ich einiges an Geld wert!

          Das stimmt. Ich hatte es auch schon andersherum – meine gute Soundkarte wurde nicht mehr unterstützt, nachdem ich ein neues Windows gekauft hatte, während sie unter Linux problemlos lief -, aber das ist natürlich nicht der Normalfall. Die meiste Standardhardware läuft früher oder später, exotische Hardware läuft wohl oft einfach gar nicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.