... 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:
- Die Datei ist neu, also noch nicht in einer vorhergehenden Sicherung enthalten; oder die Datei wurde seit der letzten Sicherung inhaltlich verändert: Dann speichert Timeshift eine vollständige Kopie des Dateiinhalts und im Snapshot einen Verweis (»Hardlink«) dazu.
- Die Datei ist schon in vorher in der Sicherung enthalten und wurde seitdem inhaltlich nicht verändert: Dann speichert Timeshift in dem neuen Snapshot nur den Verweis (»Hardlink«) zu dem bereits vorhandenen Inhalt der Datei.
- Die Datei ist im Original nicht mehr vorhanden: Dann ignoriert Timeshift diese Datei.
1.2. Praktische Auswirkungen:
Dieses Verfahren hat wesentliche praktische Auswirkungen:
- Solange der Inhalt einer Datei nicht verändert wird, ist dieser auch über viele Sicherungen hinweg nur einmal als Kopie im Sicherungsbereich von Timeshift gespeichert. (Quasi-inkrementelle Sicherung). Das spart viel Platz, denn die immer gespeicherten Verweise (»Hardlinks«) belegen nur jeder wenige Kilobytes.
- Man entfernt eine oder mehrere Dateien aus einer Sicherung – entweder durch Löschen eines Snapshots, in dem sie vorkommt, oder gezielt einzeln. (→ 2.2. und → 2.4.). Dann wird erst einmal nur der Veweis (»Hardlink«) zu jeder entfernten Datei gelöscht. Die Kopie des Inhalts bleibt gespeichert, wenn die Datei noch in irgendeinem anderen Snapshot enthalten ist. Das führt dazu, dass der Speicherbedarf von Timeshift – erkennbar an der Angabe im Timeshift-Fenster rechts unten – kaum abnimmt, auch wenn die entfernten Dateien groß oder viele sind. Erst wenn der letzte und einzige Verweis (»Hardlink«) auf eine Datei entfernt wird, wird auch der Inhalt der Datei gelöscht (vom Dateisystem, nicht von Timeshift) und der dafür benötigte Speicherplatz frei.
- Alle »Hardlinks« zu einer Datei sind gleichwertig und unabhängig voneinander. Deshalb spielt die Reihenfolge, in der man diese Verweise löscht, keine Rolle. Der Dateiinhalt bleibt erhalten, solange es mindestens einen Verweis (»Hardlink«) dazu gibt. Man muss sich deshalb auch in Timeshift keine Gedanken machen, in welcher Reihenfolge man Snapshots löschen müsste.
Darin unterscheiden sich »Hardlinks« von den häufiger gebrauchten »Softlinks«, auch als »Verknüpfungen« bekannt. Dort gibt es genau eine Originaldatei, auf die die »Softlinks« verweisen. Die »Softlinks kann man zwar beliebig löschen, ohne der Datei zu schaden; sobald man aber die Originaldatei löscht, ist ihr Inhalt verloren; wenn dann noch »Softlinks" zu ihr vorhanden sind, führen diese ins Leere und sind fehlerhaft.
- Betrachtet man die Snapshots in einem Dateimanager (z.B. → 2.4.), wird der Speicherbedarf einer Datei in allen Snapshots in ihrer vollen Inhaltsgröße angezeigt, sodass es aussieht, als ob ihr Inhalt in jedem Snapshot voll gespeichert – also vielfach vorhanden – wäre. Tatsächlich repräsentiert jeder »Hardlink« seine Datei wie ein Original; der Inhalt ist jedoch nur einmal gespeichert.
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:
- localhost, ein Verzeichnis, das alle Verzeichnisse und Dateien enthält, die zum Zeitpunkt dieses Snapshots laut Einstellungen zu sichern waren, und zwar in derselben Baumstruktur wie die Originale. Wenn man dieses Verzeichnis localhost im Dateimanager ansieht, bekommt man dasselbe wie mit der Timeshift-Funktion »Durchsuchen« (→ 2.4.). Soweit Dateiinhalte (für neue und geänderte Dateien) gesichert wurden, sind sie hier gespeichert, für ungeänderte Dateien liegen hier nur Verweise (»Hardlinks«) (→ 1.1. Sicherungen).
- exclude.list, eine Textdatei mit allen Filtern, mit der der betreffende Snapshot gemacht wurde. Das sind nicht nur die in den Timeshift-Einstellungen eingetragenen Filter, sondern auch die von Timeshift implizit hinzugefügten. (→ 4.)
- info.json, eine Textdatei mit einigen Systeminformationen, für den Anwender eher unbedeutend.
- rsync-log, eine Textdatei, die alle in der Sicherung zum Zeitpunkt des betreffenden Snapshots enthaltenen Verzeichnisse und Dateien auflistet, was innerhalb Timeshift dem Menüpunkt »Durchsuchen« (→ 2.4.) entspricht.
- rsync-log-changes, eine Textdatei, die dasselbe enthält, was mit der Timeshift-Funktion »Protokoll zum Erstellen ansehen« (→ 2.5.), grafisch etwas aufbereitet, angezeigt wird. Hier werden nur neue und geänderte Dateien aufgelistet, also solche, deren Inhalte auch in diesem Snapshot gespeichert sind.
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:
- Implizit von Timeshift hinzugefügt werden etliche Filter, die Verzeichnisse und Dateien ausschließen,welche üblicherweise nicht gesichert werden, z.B. tmp, cache, usw., sowie die Homeverzeichnisse anderer Benutzer.
Es gibt offenbar keine Möglichkeit, diese implizite Liste von Filtern zu ändern, auch nicht außerhalb von
Timeshift, z.B. in einer Konfigurationsdatei. Soweit ich sehen kann, ist diese Liste im binären Programm (
/usr/bin/timeshift) fest eingebaut – so etwas ist sehr unschön (
→ 5. Wünsche).
- Der Menüpunkt »Einstellungen – Tab Benutzer« (→ 3.4.) fügt die gemachten Einstellungen in Form weiterer Filter in die Filterliste ein; für den eigenen Home-Bereich ist das:
- »Alles ausschließen« ergibt den Filter
× /home/benutzer/**
( Dieser Eintrag ist eigentlich überflüssig, da mit den vorher erwähnten impliziten Filtern auch der Filter × /home/*/**
, also Ausschließen der Home-Verzeichnisse aller Benutzer, automatisch hinzugefügt wird. )
- »Versteckte Einträge einschließen« ergibt den Filter
+ /home/benutzer/.**
- »Alles einschliessen« ergibt den Filter
+ /home/benutzer/**
Wenn man die Filterliste manuell ediert, sorge man immer dafür, dass diese eingefügten Filter ganz am unteren Ende der Filterliste stehen.
- Mit dem Menüpunkt »Einstellungen – Tab Filter« bekommt man eine edierbare Liste der aktuell gültigen Filter; die impliziten sind hier nicht zu sehen; die über »Benutzer« eingefügten können nicht geändert oder entfernt werden. Im übrigen können hier beliebige Filter hinzugefügt, geändert, entfernt werden (→ 4.3.
In diesem Tab kann man mit dem letzten Knopf »Zusammenfassung« die aktuelle Liste aller Filter anzeigen lassen; mit dabei sind auch die impliziten und über »Benutzer« eingefügten Filter.
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, ...
- Das Verzeichnis A soll als Ausnahme zu »Alles ausschließen« mit ganzem Inhalt (Unterverzeichnisse und Dateien) in die Sicherung einbezogen werden. Mit dem Filter
+ /home/benutzer/A/**
sollte das syntaktisch gehen. Das funktioniert aber nicht, weil weder das Verzeichnis benutzer noch das Verzeichnis benutzer/A bereits einbezogen ist. Abhilfe schafft:
+ /home/benutzer/
+ /home/benutzer/A/
+ /home/benutzer/A/**
Die erste Filter bezieht benutzer ein – ohne Inhalt, damit nicht alles einbezogen wird, was in benutzer liegt; der zweite Filter bezieht A ein, der letzte Filter kennt nun benutzer und A und wirkt wie gewünscht. Die drei Filter kann man auch zusammenfassen (→ 4.4.):
+ /home/benutzer/A/***
-
Auch die Reihenfolge der Filter ist wichtig, weil Filter auf die in der Liste nachfolgenden Filter wirken, aber nicht rückwirkend sind. In dem vorherigen Beispiel soll jetzt die Sicherung fast wie zuvor alle Unterverzeichnisse von A einschließen, mit Ausnahme von B2. Die folgende Filterfolge funktioniert nicht:
+ /home/benutzer/A/***
× /home/benutzer/A/B2/
Der ersten beiden Filter sind dieselben wie im vorigen Beispiel. Der letzte Filter soll zwar B2 aus der Sicherung ausschließen; weil B2 aber vorher als Teil von A bereits eingeschlossen ist, bleibt das wirkungslos. Das Gewünschte erreicht man stattdessen mit
× /home/benutzer/A/B2/
+ /home/benutzer/A/***
Jetzt wird B2 von der Sicherung ausgeschlossen; der Einschluss dann von A samt Inhalt wirkt sich nicht rückwirkend aus.
Die Reihenfolge der Filter ändert man, indem man einen Filter in der Liste mit der Maus (linke Taste) nach oben oder unten zieht.
4.3. Bearbeiten der Filter:
- Jeder Filter ist eine Zeile in der Liste: mit der Alternativauswahl links bestimmt man, ob die vom Filter betroffenen Dateien und Verzeichnisse in die Sicherung eingeschlossen (Symbol +) oder von der Sicherung ausgeschlossen (×) werden sollen. Den Text des Filters kann man wie üblich mit Maus und Tastatur edieren, wenn man zweimal auf den Text klickt.
- Einen neuen Filter bekommt man durch einen der »Hinzufügen«-Knöpfe. Es ist eher unwesentlich, welchen man wählt, da man, wie zuvor gesagt, jeden Filter danach beliebig edieren kann. Neue Filter sind immer erst mit »ausgeschlossen« (×) markiert; ggf. einfach ändern.
Meist wird ein neuer Filter unten in die Liste eingefügt und man muss ihn noch an die gewünschte Stelle in der Liste ziehen (→ 4.2.)
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«.
pfad/name
: betrifft eine Datei oder ein Verzeichnis »name« im angegebenen pfad.
pfad/name/
: betrifft ein Verzeichnis »name«, aber keine Datei, im angegebenen pfad.
pfad/*
: betrifft alle Dateien und alle Verzeichnisse im angegebenen pfad, aber nicht Dateien und Unterverzeichnisse in den betroffenen Verzeichnissen.
pfad/*/
: betrifft alle Verzeichnisse im angegebenen pfad, aber keine Dateien, und nicht Dateien oder Unterverzeichnisse in den betroffenen Verzeichnissen.
pfad/**
: betrifft alle Dateien und Verzeichnisse im angegebenen pfad und alle Dateien und Unterverzeichnisse in den betroffenen Verzeichnissen rekursiv in beliebiger Tiefe; also alles was im angegebenen pfad liegt.
pfad/**/
: betrifft Verzeichnisse im angegebenen pfad und alle Unterverzeichnisse in den betroffenen Verzeichnissen rekursiv in beliebiger Tiefe; also alle Verzeichnisse, die im angegebenen pfad liegen, aber keine Dateien.
pfad/***
: ist eine Kombination aus pfad/
und pfad/**
, betrifft also alles, was im angegebenen pfad liegt und auch pfad selbst; wichtig wenn pfad bis dahin ausgeschlossen ist. (→ 4.2.)
pfad/***/
: ist eine Kombination aus pfad/
und pfad/**/
, betrifft also keine Dateien, aber alle Verzeichnisse und Unterverzeichnisse (rekursiv), die im angegebenen pfad liegen und auch pfad selbst; wie zuvor wichtig wenn pfad bis dahin ausgeschlossen ist. (→ 4.2.)
- In pfad und name können Jokerzeichen (Wildcards) verwendet werden:
-
?
steht für ein beliebiges Schriftzeichen, ausgenommen \
So betrifft A?BC?D
alles wie A1BC2D, AxBC+D, usw.
-
[klassenangabe]
steht für ein Schriftzeichen, dass der klassenangabe entspricht.
A[123]x
betrifft A1x, A2x und A3x .
[Pp]auli
betrifft Pauli und pauli .
Y[uv,1-3]Z
betrifft YuZ, YvZ, Y1Z, Y2Z und Y3Z .
Viele weitere Möglichkeiten.
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
- stabil und zuverlässig sein, um im Notfall wirklich alles Gewünschte zur Wiederherstellung bereit zu haben;
- für System und Nutzerdaten gleichermaßen zur Verfügung stehen, damit man sich nicht mit mehreren Backupsystem mühen muss;
- platzsparend sein, was hauptsächlich durch inkrementelles Sichern erreicht werden kann.
Komprimieren spart zwar Platz, hat bei universellen Backups aber Nachteile: In einem wirklichen Notfall ist eine Wiederherstellung durch Kopieren immer die einfachste und manchmal einzige Möglichkeit. Bei komprimierten Backups muss ein Dekomprimierungs-Werkzeug zur Verfügung stehen, oder gar, wenn das Backup-System seine eigene Komprimierungsmethode hat, genau dieses Backup-System.
- fein genug konfigurierbar sein; es muss möglich sein, praktisch für jede Datei zu bestimmen, ob sie gesichert wird oder nicht.
Dass die entsprechenden Einstellungen mit z.B. Ausnahmen von Ausnahmen von ... recht mühsam sein können, ist selbstverständlich; und kein gutes Backup-System, das solche Feineinstellungen zulässt, kommt daran vorbei.
Allerdings sollten genügend einfache Kontrollmöglichkeiten dafür zur Verfügung stehen.
- automatisch im Hintergrund ablaufen; einmal konfiguriert sollten keine manuellen Eingriffe mehr nötig sein.
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.
- Timeshift und seine Einrichtung sollte den Anwendern dringend als universelles Backupwerkzeug, auch für die eigenen Nutzerdaten, empfohlen werden.
Timeshift wird offenbar fast nur unter dem Gesichtspunkt der Systemsicherung gesehen, besonders jetzt in Linux Mint 19, wohl weil man damit in der Aktualisierungsverwaltung die Unterscheidung der Updates in mehr oder weniger gefährliche aufgeben konnte.
- Für den Einsatz von Timeshift als universelles Backup-Werkzeug, gerade für Ungeübte, ist eine Anleitung unverzichtbar.
Es fehlt fast jede Hilfestellung. Anleitung, Handbuch, oder Ähnliches gibt es nicht; ebenso nicht das in Linux übliche man timeshift . Es gibt man rsync; daraus sind aber nur wenige Informationen für die Timeshift-Verwendung nützlich; Kommando-Optionen und vieles andere ist, wenn man Timeshift verwendet, ohne Interesse.
Möge dieser Erfahrungsbericht das ein wenig ersetzten.
- Es wäre komfortabler und sicherer, die jetzt schwerpunktmäßige Systemsicherung und die wünschenswerte Sicherung eigener Nutzungsdaten unabhängig durchführen zu können; entweder indem mehrere, unabhängig konfigurierte, Instanzen von Timeshift laufen können; oder, vielleicht noch besser, innerhalb Timeshift mehrere Profile mit Filtern, Zeitplan,Ort konfigurierbar sind und parallel unabhängig ihre Arbeit tun.
- Abgebrochene und leere Snapshots müssten in der Snapshot-Liste im Timeshift-Fenster angezeigt werden, sinnvoller Weise entsprechend markiert; womit man sie dort auch durchsuchen und insbesondere löschen könnte. Der Menüpunkt »Wiederherstellen« könnte für solche Snapshots ja deaktiviert sein.
Das hier in
→ 2.6. beschriebene Verfahren ist ja wohl wirklich nur ein Notbehelf.
- Es sollte eine viel ausführlichere Kontrolle über eine Sicherung geben, bevor sie ausgeführt wird, also insbesondere schnell. Dazu gehört die Anzeige aller Dateien, die dann in der Sicherung enthalten sein werden, nicht nur der neuen und geänderten, der Speicherbedarf der einzelnen Dateien und insgesamt, usw.
- Es sollte eine Funktion geben, mit der man eine Datei mit einem Mal aus allen Snapshots entfernen kann, in denen sie vorkommt, und damit ihren Speicherplatz freigeben kann; entweder nur für die Vorkommen einer unveränderten Version der Datei (gleiche Inodenummer) oder für alle Vorkommen (Dateiname) oder wahlweise beides.
- Alle Aktionen, die sich auf einen Snapshot beziehen, sollten einheitlich entweder im Menü des Timeshift-Fensters oder im Kontextmenü des Snapshots oder in beiden stehen.
- Es darf nicht sein, dass beim Edieren der Filterliste die Aktion »Entfernen« eines Filters die unmittelbar vorher gemachten Änderungen an anderen Filtern zurücksetzt – wirklich ein Fehler.
- Im Hinblick auf eine universelle Backup-Verwendung sollten die von Timeshift implizit hinzugefügten Filter nicht im binären Programm (/usr/bin/timeshift) stehen, sondern in einer eigenen Konfigurationsdatei und sollten bearbeitbar sein – evtl. mit entsprechender Schutzmaßnahme gegen versehentliches Ändern.
- Es sollte in Timeshift eine Funktion geben, mit der man eine aktuelle Filterliste speichern / sichern / exportieren kann; und eine Funktion, mit der man diese Kopie wieder laden / importieren kann.
Geschrieben: Oktober 2018 – Letzte Änderung: 13.09.2022