Wolfgang Pavel: Wie man Timeshift als universelles Backup-Werkzeug verwenden kann.

... für Linux Mint 19 und spätere.
Timeshift-Version 18.6 und später

Timeshift gibt es seit einigen Jahren in den Linux-Debian, -Ubuntu, -Mint-Paketen. In Mint ist es seit Version 19 vorinstalliert. Da ist das zwar erst einmal für die Sicherung der Systemdateien gedacht; man kann aber ohne weiteres benutzereigene Dateien und Verzeichnisse in die Sicherung einbeziehen. Ein Grund, darüber nachzudenken, es als universelles Backup-Werkzeug für alles einzusetzen.
Timeshift hat die Eigenschaften eines guten Backup-Werkzeugs: platzsparend quasi inkrementelle Sicherungen, feine Einstellungen der zu sichernden Daten, aber auch gewöhnungsbedürftige Handhabung. Zuverlässig arbeitet es wohl, soweit ich es nach längerer Ausprobierphase sehen kann. Deshalb habe ich jetzt meine Backups – für System- und meine Nutzerdaten – mit Timeshift eingerichtet. Denn Backup muss sein; und warum soll man sich mit mehreren Backup-Werkzeugen herumschlagen, wenn eines eigentlich alle Wünsche erfüllt.
Schwächen hat Timeshift in der Bedienung. Anfangs ist man öfter ratlos, ob und wie man etwas machen kann und denkt oft an Fehler – in Timeshift oder bei sich selbst. Eine umfassende Benutzungs-Dokumentation fehlt; unverzichtbar, wenn man Timeshift nicht nur für die voreingestellten Dinge nutzen will, sondern auch für alle eigenen Backups.
Deshalb habe ich hier ein kleines Manual zusammengestellt; weitestgehend aus meinen experimentellen Erfahrungen, weniger aus offiziellen Quellen. Manches ist deshalb vielleicht nicht ganz richtig oder fehlt; dafür bitte ich um Entschuldigung und – wichtiger – um Mitteilung.


Anfangs, nach Installation und erstmaligem Start von Timeshift wird automatisch eine Grundeinrichtung von Timeshift mit dem »Einrichtungsassistenten« angefordert. Man kann die gemachten Einstellungen später jederzeit ändern; entweder wieder mit dem »Einrichtungsassistenten« (Menüpunkt »Assistent« → 2.9.) oder über den Menüpunkt »Einstellungen« (→ 3. Einstellungen). Für das Folgende wird vorausgesetzt, dass Timeshift bereits eingerichtet ist.
1. Funktionsweise von Timeshift
1.1. Sicherungen: Wenn aufgrund des »Zeitplans« oder manuell ein neuer Sicherungsvorgang ausgelöst wird, werden alle Dateien, die aufgrund von Einstellungen, insbesondere der »Filter«, zu berücksichtigen sind, in einem »Snapshot« zusammengefasst gepeichert.
Achtung: Timeshift sichert keine Dateien, die außerhalb des Root- oder Homeverzeichnisses in anderen Partitionen einer Festplatte liegen; wenn diese Partitionen, wie meist üblich, im Rootverzeichnis »gemountet« sind. Wenn so eine Partition einen Mountpoint »/mountpointname« oder auch oft den automatischen "/mnt/bezeichnung" hat, ist in einer Timeshift-Sicherung zwar das Verzeichnis »mountpointname« bzw. »bezeichnung« vorhanden, aber leer. Das ist sehr irreführend: ich vertraute lange auf die Sicherung bestimmter Daten aus einer außerhalb liegenden Partition, bis ich merkte, dass die Daten selbst gar nicht gesichert worden waren.
Abhilfe ist, die betreffenden Partitionen im Home-Verzeichnis zu »mounten«; also auf einen Mountpoint »/home/mountpointname"« zu legen; auch »/home/benutzer/mountpointname« ist möglich, aber gar nicht notwendig. Den Mountpoint kann man über einen Eintrag in der Datei /etc/fstab bestimmen oder mit dem Tool »Laufwerke«, das in Linux Mint standardmäßig installiert ist (Paket »gnome-disk-utility«).
Für jede Datei wählt Timeshift eine von 3 Möglichkeiten:
1.2. Praktische Auswirkungen:
Dieses Verfahren hat wesentliche praktische Auswirkungen:
1.3. Speicherstruktur des Sicherungsbereichs: In den Einstellungen (→ 3.2.) wird als Ort für die Sicherungen eine Festplatten-Partition festgelegt. Diese wird dann (derzeit?) standardmäßig auf /run/timeshift/backup montiert. Diesen Mountpoint kann man in /etc/fstab oder über das Tool »Laufwerke« an beliebige andere Stelle legen; muss dann aber die Partition vor dem Start von Timeshift montieren, am besten zum Systemstart (auto in fstab). Alles was zu den Timeshift-Sicherungen gehört, ist dann dort im Unterverzeichnis /timeshift gespeichert. Dieses enthält mehrere Unterverzeichnisse, von denen /timeshift/snapshots das wesentliche ist und die eigentlichen Sicherungen enthält. Die übrigen Unterverzeichnisse (/timeshift/snapshots-boot, /timeshift/snapshots-weekly, /timeshift/snapshots-daily, /timeshift/snapshots-weekly, /timeshift/snapshots-monthly, /timeshift/snapshots-ondemand) enthalten nur Verknüpfungen (»Softlinks«) zu den Snapshots im erstgenannten Verzeichnis /timeshift/snapshots. Ihre Einordnung entspricht ihrer zeitlichen »Schnappschussebene« aus dem Zeitplan und dient nur organisatorischen Zwecken von Timeshift. Eine praktische Bedeutung für den Anwender von Timeshift konnte ich darin nicht erkennen.
In dem Verzeichnis /timeshift/snapshots ist für jeden Snapshot ein Verzeichnis angelegt; der Name des Verzeichnisses ist der Zeitpunkt, an dem der Snapshot gemacht worden ist. In einem solchen Verzeichnis /timeshift/snapshots/{zeitpunkt} sind abgelegt:
2. Das Timeshift-Fenster (Snapshot-Liste und Menü)
Timeshift zeigt nach Start immer eine Liste aller vorhandenen (vollständigen) Snapshots in zeitlich aufsteigender Reihenfolge. Alle Sicherungen bilden eine einzige Kette, unabhängig von der Sicherungsursache (stündlich, täglich, ...); die angegebenen »Schlagwörter« haben nur informative Bedeutung.
Zum Bearbeiten eines einzelnen Snapshots sind 3 der 6 Menüpunkte geeignet, wobei der gewünschte Snapshot durch Markieren ausgewählt sein muss, oder das Kontextmenü des Snapshots (rechte Maustaste). (Die willkürliche Verteilung der Aktionen auf Menü und Kontextmenü ist nicht benutzerfreundlich; → 5. Wünsche).
3 weitere Menüpunkte sind unabhängig von einem bestimmten Snapshot.
2.1. Menüpunkt »Wiederherstellen«: Alle in dem ausgewählten Snapshot enthaltenen Dateien werden in den Zustand vesetzt, in dem sie zum betreffenden Datum waren. (Zur Wiederherstellung einzelner Dateien → 2.4.)
2.2. Menüpunkt »Löschen« oder Kontextmenü »Löschen« (gleichbedeutend): Der betreffende Snapshot wird gelöscht. Von den darin enthaltenen Dateien wird erst einmal nur der Verweis (»Hardlink«) gelöscht, der Inhalt nur, wenn die Datei nicht auch noch in einem anderen Snapshot enthalten ist. Deshalb kann es sein, dass der Speicherbedarf von Timeshift beim Löschen eines Snapshots kaum heruntergeht, obwohl große oder viele Dateien darin enthalten waren. → 1. Funktionsweise.
2.3. Kontextmenü »Zum Löschen markieren«: Beim nächsten Sicherungsvorgang wird dieser Snapshot gelöscht, in derselben Weise wie → 2.2. Achtung: Diese Markierung lässt sich, soweit ich sehen konnte, nicht wieder rückgängig machen.
2.4. Menüpunkt »Durchsuchen« oder Kontextmenü »Dateien auswählen« (gleichbedeutend): Es öffnet sich der Standard-Dateimanager mit dem gewählten Snapshot – kann etwas dauern. Außer der Kontrolle, welche Dateien hier gesichert sind, kann von hier aus auch die Wiederherstellung einzelner Dateien gemacht werden: einfach mit den üblichen Mitteln die betreffende(n) Datei(en) an einen gewünschten Zielort kopieren. Man könnte hier auch einzelne Dateien aus dem Snapshot löschen (Kontextmenü »Löschen« bzw. »delete« – nicht »Papierkorb«; denn das ist der im Systembereich, wird üblicherweise nicht geleert und der Speicherplatz bleibt belegt.). Auch hier wird (→ 2.2.) erst einmal nur der Verweis (Hardlink) gelöscht; sodass der bei einer großen Datei vielleicht erwartete Speichergewinn nicht eintritt. Dafür müsste die Datei in allen Snapshots gelöscht werden, in denen sie unverändert vorkommt. Dafür sollte Timeshift eine eigene Funktion zur Verfügung stellen (→ 5. Wünsche).
2.5. Kontextmenü »Protokoll zum Erstellen ansehen«: Es werden Dateien aufgelistet, die bei der betreffenden Sicherung als »erstellt« oder »geändert«, also mit Inhalt gespeichert wurden. Das Textfeld mit dem irreführenden Vortext »Gerätenamen oder-nummer angeben« wirkt als Anzeigefilter: es werden nur Dateien gelistet, in deren Pfad und Name der eingegebenen Text vorkommt. Für die Information, welche Dateien insgesamt – also auch unveränderte – im Snapshot enthalten sind und weitere Informationen, z.B. belegter Speicherplatz, muss man zum Menüpunkt »Durchsuchen« (→ 2.4.) wechseln.
Das die Anzeige einschränkende Auswahlmenü rechts oben erschien mir nicht sehr hilfreich.
2.6. Abgebrochene Snapshots werden in der Liste nicht angezeigt. Das kann zu folgendem irritierenden Effekt führen: Man löscht (→ 2.2.) alle Snapshots aus der Liste; trotzdem belegt Timeshift noch viele GB Speicher. Denn beim Abbruch eines Snapshots – manuell oder durch externere Umstände – bleiben die bis zum Abbruch gesicherten Dateien duerhaft liegen.
Zum Erkennen und dann auch Löschen abgebrochener Snapshots gehe man so vor: Man markiere in der Snapshot-Liste keinen Snapshot (wenn nicht die Liste sowieso leer ist). Dann wähle man den Menüpunkt »Durchsuchen«. Es öffnet sich (→ 2.4.) der Standard-Dateimanager, aber nicht mit einem einzelnen Snapshot, sondern mit der Liste aller Snapshots. Da sind auch die abgebrochenen dabei – welche, muss man evtl. durch Vergleich mit der normalen Liste feststellen. Mit Kontextmenü »Löschen« bzw. »delete« – nicht »Papierkorb«; denn das ist der im Systembereich, wird üblicherweise nicht geleert und der Speicherplatz bleibt belegt – kann jetzt auch jeder abgebrochene Snapshot entfernt werden.
Das ist wohl eine äußerst unbefriedigende Bedienung. → 5. Wünsche.
2.7. Menüpunkt »Erstellen«: Es wird sofort eine Sicherung erstellt und als neuer Snapshot angefügt. Ein Knopf »Abbrechen« erlaubt, den Vorgang vorzeitig abzubrechen; siehe aber → 2.6.
Für das Testen z.B. neuer Filtereinstellungen ist diese manuelle Sicherung ein gutes Werkzeug; solange deaktiviere man am besten im Zeitplan alle automatischen Sicherungen (→ 3.3.).
2.8.  Menüpunkt »Einstellungen« ist in → 3. Einstellungen erklärt.
2.9.  Menüpunkt »Assistent« lässt in einzelnen Schritten einige Grundeinstellungen für Timeshift festlegen, wird bei erstmaliger Benutzung von Timeshift automatisch angefordert. Der Punkt kann später jederzeit wieder aufgerufen werden, um diese Einstellungen zu ändern. Das und mehr kann aber genau so gut mit dem Menüpunkt »Einstellungen« (→ 3.) gemacht werden.
3. Einstellungen
Mit dem Menüpunkt »Einstellungen« bekommt man ein Fenster mit 5 Tabs:
3.1. Typ: Wenn man Timeshift als universelles Backup-Werkzeug verwenden will, wähle man rsync. Das alternative BTRFS (in Timeshift erklärt) ist nur für die Systemsicherung geeignet.
3.2. Ort, an dem die Sicherungen gespeichert werden sollen. Es kann nur eine ganze Partition ausgewählt werden. Am besten ist eine extra Festplatte, intern oder extern. Sind im Zeitplan automatische Sicherungen eingestellt, muss eine externe Festplatte natürlich immer mitlaufen.
Timeshift speichert Sicherungen und seine organisatorischen Daten in dieser Partition im Verzeichnis /timeshift. Es ist möglich, in derselben Partition parallel zu /timeshift weiteres zu speichern, ist aber aus Gründen der Übersichtlichkeit nicht zu empfehlen. Abzuraten ist, im Verzeichnis /timeshift direkt Manipulationen (Änderungen, Löschungen) vorzunehmen; so etwas sollte man nur im Timeshift-Programm selbst machen. Weiteres siehe → 1.3.
3.3. Zeitplan: Die Einstellunngen sind selbsterklärend. Es ist müßig, aus der Zahl angelegter Sicherungen auf den dafür benötigten Speicherplatz zu schließen; siehe auch → 1. Funktionsweise. Man kann auch ganz auf automatische Sicherungen verzichten: alle Werte auf Null; Timeshift meldet dann »deaktiviert«. Nun kann man jederzeit manuell Sicherungen erstellen (→ 2.7. Menüpunkt »Erstellen«). Besonders empfehlenswert ist dies zum Testen, während man die Filter einrichtet.
3.4. Benutzer: Die hier gemachten Einstellungen erscheinen als zusätzliche Filter in der Filterliste; könnten also auch direkt dort gemacht werden.
Mit der Einstellung für das benutzereigene Verzeichnis, also das eigene Home-Verzeichnis, legt man die Grundlage für Feineinstellungen, welche benutzereigenen Dateien in Sicherungen einbezogen werden sollen. Mit jeder der 3 Einstellungen sind alle gewünschten Ein- und Ausschlüsse erreichbar; nur sind die Methoden für die dann notwendigen Filter verschieden. Man sollte sich deshalb hier ein für allemal für eine Einstellung entscheiden und dann in den Filtern die gewünschten Detail-Einstellungen vornehmen.
3.5. Filter: Regeln und Syntax zu den Filtern sind in → 4. Filter erklärt.
4. Filter: Regeln, Syntax, Beispiele
Die Filter bestimmen, welche Dateien gesichert werden. Jeder Filter ist eine einzeilige Textangabe, im wesentlichen ein Pfad mit zusätzlichen Zeichen unterschiedlicher Bedeutung. Bei jeder Sicherung werden die aktuell eingestellten Filter ausgewertet; dh. verschiedene Snapshots können mit unterschiedlichen Filtern gemacht werden. Bei einer universellen Anwendung von Timeshift kann das allerdings zur Unübersichtlichkeit führen.
4.1. Woher die Filter kommen: Die Filter stammen aus 3 Quellen:
4.2. Filter wirken auf Filter:Jeder Filter wirkt nicht nur auf die Sicherung, sondern auch auf die Gültigkeit der ihm in der Liste nachfolgenden Filter. Beispiele dazu (die Syntax wird später erklärt):
Es sei in den »Einstellungen – Benutzer« (→ 3.4., → 4.1.) für den persönlichen Ordner »Alles ausschließen« eingestellt.
Im eigenen Home-Verzeichnis gäbe es ein Verzeichnis A mit Unterverzeichnissen B1, B2, ... 4.3. Bearbeiten der Filter: 4.4. Einige Syntaxregeln der Filter: Die Regeln sind im wesentlichen solche des Kommandos rsync, auf dem Timeshift aufbaut. Im folgenden wird nicht zwischen Ein- und Ausschließen unterschieden; der Filtertext ist für beides gleich. Bei der praktischen Anwendung in der Filterliste ist aber → 4.2. zu beachten, insbesondere die gewählte Einstellung in »Einstellungen – Benutzer«.
4.5. Filter ex- und importieren: Filtereinstellungen sind fehleranfällig; kleinste Fehler können wichtige Dateien in der Sicherung fehlen lassen oder viel überflüssigen Speicherbedarf durch ungewollte große Dateien verursachen. Deshalb sollte man von einer einmal ausgetesteten, gut laufenden Filterliste eine Sicherungskopie machen, insbesondere bevor man wieder einmal Änderungen daran vornimmt. Macht man durch Fehler die Filter unübersichtlich unbrauchbar, könnte man die Sicherungskopie und damit wenigstens den früheren funktionierenden Stand zurückholen.
Doch diese fast selbstverständlichen Funktionen Export und Import der Filterliste gibt es in Timeshift nicht (→ 5. Wünsche) . Außerhalb von Timeshift kann man sich so helfen:
Die aktuelle Filterliste steht in der Textdatei /etc/timeshift/timeshift.json zusammen mit einigen Timeshift-Konfigurationsdaten. Diese Datei kann man an einen beliebigen Ort kopieren. Bei Bedarf kopiert man sie nach /etc/timeshift/timeshift.json zurück, wofür man allerdings Admin-Recht benötigt.
5. Wünsche
Backup muss sein. Damit es auch ungeübte Benutzer nicht unwillig vermeiden, muss es
Timeshift erfüllt im wesentlichen diese Anforderungen. Da es jetzt sogar in Linux Mint 19 vorinstalliert ist, sollte es da für Backups erste Wahl sein, besonders im Hinblick auf ungeübte Benutzer, die erst einmal Software verwenden, wie sie vorhanden ist. Leider scheint Timeshift etwas unausgereift zu sein, und die Linux-Mint-Leute haben bei ihrer Entscheidung offenbar nicht für Nachbesserung gesorgt. Dabei liegen die Schwächen von Timeshift fast nur in seiner Bedienung. Aber Schwierigkeiten in der Bedienung führen, gerade bei Ungeübten, auch zu Fehlern und gefährden die Sicherheit der Backups.
Ich habe hier einige meiner diesbezüglichen Wünsche zusammengestellt. Vielleicht verirrt sich ja einmal ein/e Timeshift-Entwickler/in hierher, oder jemand der so eine/n kennt, und sorgt für die Erfüllung manchen Wunsches – bei einigen dürfte das mit wenigen Handgriffen getan sein.

Geschrieben: Oktober 2018 – Letzte Änderung: 13.09.2022