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.
Aber Achtung: Gemountete oder verlinkte Daten werden unter Umständen – trotz entsprechender Einstellungen – nicht gesichert, ohne dass man das gleich erkennt. Aber man kann vorbeugen. Siehe dazu
→ 5.
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.3. Speicherstruktur des Sicherungsbereichs:
In den Einstellungen (
→ 3.2.) wird als Ort für die Sicherungen eine Festplatten-Partition festgelegt.
Das sollte unbedingt eine eigene unabhängige Partition sein, am besten eine extra Festplatte, was aber nur für eine zusätzliche
interne Festplatte sinnvoll ist. Man sorge möglichst bereits
vor der Installation von Linux Mint dafür, dass so eine Partition vorhanden ist,
Wenn es keine solche Partition gibt, ist für Timeshift die Root-Partition als Ort voreingestellt, was nicht gut ist und geändert werden sollte; evtl. muss man dazu ein externes Tool verwenden, z.B. GParted, wenn es nur eine einzige Partition (root) gibt.
Beim Start von Timeshift wird die als Ort definierte Partition auf
/run/timeshift/{eine Zahl}/backup montiert. Wenn Timeshift nicht läuft, ist
/run/timeshift leer.
Je nach den Einhängeoptionen dieser Partition (siehe auch und verwende evtl z.B. Tool "Laufwerke", in Linux Mint vorinstalliert) kann die Partition auch noch andere(n) Mountpunkt(e) haben. Timeshift selbst richtet so etwas bei expliziter Angabe/Änderung des Orts auf
/media/{benutzer} ein; dies hat den Vorteil, dass in Linux Mint die Sicherungspartition im Dateimanager (Nemo) unter "Geräte" erscheint und dort direkt aufgerufen werden kann, ohne Timeshift zu starten..
Alles was zu den
Timeshift-Sicherungen gehört, ist dann in der als Ort definierten Partition 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.
(Es wäre 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. )
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). 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.
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.
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.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. Weiteres siehe
→ 1.3.
3.3. Zeitplan: Die Einstellungen 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 zwei zusätzliche Filter in der Filterliste. Diese beiden Filter können nicht entfernt werden. Eigene abweichende Filter müssen in der Liste vor diesen Filtern stehen, um zu wirken (siehe
→ 4.2. Filter wirken auf Filter).
Einer der beiden Filter wirkt auf den "Persönlichen Ordner", also »/home/
{benutzer}«. Diese Einstellung legt die Grundlage für Feineinstellungen mit zusätzlichen Filtern, wie benutzereigene 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. Siehe auch
→ 6. Beispiele.
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 Filter zu ändern oder zu entfernen, auch nicht außerhalb von Timeshift, z.B. in einer Konfigurationsdatei. Soweit ich sehen kann, ist die Liste dieser Filter im binären Programm (/usr/bin/timeshift) fest eingebaut. Mit nur einzelnen Ausnahmen stehen diese Filter immer am Anfang aller Filter. So kann man auch die Wirkung dieser Filter nicht mit zusätzlichen eigenen Filtern beeinflussen.
Diese impliziten Filter sieht man auch nicht im Einstellungen-Menüpunkt »Filter« direkt, sondern nur, wenn man dort »Zusammenfassung« wählt; und dort kann man nichts ändern.
- 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/**
- »Versteckte Einträge einschließen« ergibt den Filter
➕/home/benutzer/.**
- »Alles einschliessen« ergibt den Filter
➕/home/benutzer/**
Diese Filter werden an das Ende aller Filter gesetzt. Noch ein weiterer Filter, nämlich ➖/home/*/**
, wird am Ende hinzugefügt; diesen sieht man jedoch nicht im Menüpunkt »Filter«, sondern erst in der »Zusammenfassung«. Zu beachten z.B. bei → 5.3..
Manuell erstellte Filter erscheinen zunächst unter diesen automatisch erstellten. Man sorge dann immer dafür, dass diese automatisch eingefügten Filter wieder am unteren Ende der Filterliste stehen, weil man abweichende Filtereinstellungen nur davor machen kann. (→ 3.4.). Trick: Es genügt bei diesen beiden Filtern, sie zu »entfernen«, was zwar nicht geht, aber den »entfernten« Filter an das Listen-Ende schiebt.
- 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 erste Filter ist derselbe 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: Es 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«. Die Regeln sind im wesentlichen die des Kommandos
rsync, auf dem
Timeshift aufbaut. Die Beispiele hier betreffen die häufig anzuwendenden Wirkungen auf Pfade von Verzeichnissen und Ordnern.
Nicht dargestellt sind hier die Möglichkeiten detaillierter Textmuster, z.B. »A*« für alles, was mit A anfängt, oder »X?Y« für ein Schriftzeichen zwischen X und Y. Eine komplette Beschreibung bekommt man mit der Manpage für rsync, entweder in der Konsole (man rsync) oder über https://linux.die.net/man/1/rsync.
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. Außerhalb von Timeshift kann man sich so helfen:
Die aktuelle Filterliste steht – im Systembereich – 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. Probleme und Lösungen:
5.1 Timeshift sichert keine verlinkten Daten: Die üblichen Softlinks (»Verknüpfungen«) auf Verzeichnisse oder Daten werden wie scheinbare Verzeichnisse bzw. Daten in eine Sicherung aufgenommen; in der Sicherung verweisen sie aber nur auf das Original, sind also selbst keine Kopie der Daten. Das ist irrtums-anfällig: Sieht man sich ein solches Verzeichnis in der Sicherung an, wie z.B. in
→ 2.4. beschrieben, scheint alles in Ordnung; alle Inhalte sind zu sehen. Diese sind aber gar nicht gesichert; man sieht nur die Originale; wenn dort etwas kaputt geht, gibt es keine Wiederherstellungsmöglichkeit aus der Sicherung.
Leider verwaltet Timeshift dies nicht, obwohl das zugrunde liegende rsync das in seinen Optionen enthält (--copy-links).
Abhilfe: Will man den Inhalt verlinkter Daten in die Sicherung aufnehmen, darf man nicht die Links in die Sicherung aufnehmen, sondern man muss das explizit für die Originale durch entsprechende Filter einstellen. Sowieso ist zu empfehlen, alle Links per Filter von der Sicherung auszunehmen, um Irrtümern gleich vorzubeugen – egal, ob man die Originale in die Sicherung aufnimmt oder nicht.
5.2 Timeshift sichert keine Dateien aus außen liegenden Partitionen: Das betrifft alle Partitionen, die außerhalb des Root- oder Homeverzeichnisses liegen; das gilt auch, wenn vorhanden, für Partitionen auf der internen Festplatte, die dort neben der Systempartition angelegt sind. Solche Partitionen sind meist üblich im Rootverzeichnis »gemountet«. 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 irreführend: man sieht die Partition in der Sicherung und bemerkt nicht, dass ihre Daten gar nicht gesichert sind.
Abhilfe: Man mounted die betreffenden Partitionen im Home-Verzeichnis; also auf einen Mountpoint »/home/{mountpointname}"«; auch »/home/
{benutzer}/{mountpointname}« ist möglich, aber 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«). Dann kann man die enthaltenen Daten als »/home/{mountpointname}/...« bzw. »/home/
{benutzer}/{mountpointname}/...« in
Timehift-Filter aufnehmen. Man beachte den nächsten Punkt
→ 5.3.).
5.3 Andere Home-Verzeichnisse sind trotz »Alle einschließen« standardmäßig ausgeschlossen: Ein Filter
➖/home/*/**
wird implizit von
Timeshift eingefügt, wenn auch an das Ende der Filterliste. Diesen Filter sieht man aber nicht in der Filter-Bearbeitungsliste! Mit der Benutzereinstellung »Alle Dateien einschließen« wird nur der Filter
➕/home/{benutzer}/**
erzeugt (den man sieht). Andere Verzeichnisse unter home bleiben ausgeschlossen.
Abhilfe:Für alle anderen zu sichernden Verzeichnisse unterhalb home muss ein Filter + /home/{name des verzeichnisses}/** zusätzlich manuell erstellt werden.
5.4. Überlauf des Timeshift-Speichers durch Flatpaks: Seit einiger Zeit bietet Linux Mint immer mehr Anwendungen als Flatpak an – nur oder zusätzlich zum Systempaket. Diese Anwendungen belegen erheblich mehr Speicherplatz, was in ihrer Eigenschaft liegt, alle notwendigen Module mitzubringen und nicht aus geteilten Bibliotheken zu beziehen. Beim Update einer solchen Anwendung wird nahezu das gesamte Paket neu gespeichert, was Timeshift dazu veranlasst, für das gesamte Paket ein Backup anzulegen, anstatt nur für geänderte Dateien. Das kann dazu führen, dass Timeshift Speichermangel meldet und seinen Dienst praktisch einstellt. Mit dem in Linux Mint bereits vorinstallierten Baobab ("Festplattenbelegungsanalyse") – das auch schon in der Timeshift-Fehlermeldung angeboten wird – sieht man gut, dass die Flatpak-Pakete im Systembereich (in /var/lib/flatpak ) die wesentlichen Verursacher sind. Diese sind standardmäßig in der Timeshift-Sicherung enthalten.
Abhilfe: Mit dem Filter
➖/var/lib/flatpak/***
hat man Ruhe vor diesen Speichermangelmeldungen. Allerdings sind dann die Flatpak-Anwendungen nicht mehr durch Backups gesichert. Das ist wohl weniger schlimm; geht eine Flatpak-Anwendung kaputt, ist sie mit der »Anwendungsverwaltung« von Linux Mint einfach neu installiert.
Im Gegensatz zu den Flatpaks selbst werden aber die benutzereigenen Einstellungen zu Flatpaks von
Timeshift standardmäßig nicht gesichert. Dabei sind die Flatpak-Daten im Benutzerbereich weniger speicheraufwändig und durchaus sicherungswürdig. Um die benutzereigenen Einstellungen doch zu sichern, muss man entweder »Versteckte Einträge einschließen« bestimmt haben (
→ 3.4.) oder »/home/benutzer/.var/app/***« für alle Flatpaks oder Entsprechendes für einzelne Flatpaks in die
Timeshift-Filterliste eingetragen haben.
5.5. Ohne Timeshift an die Sicherungen kommen: Durchsuchen (
→ 2.4.) und Wiederherstellen (
→ 2.1.) ist auch möglich, ohne das Timeshift-Fenster zu starten. Das kann bequemer sein; ist aber besonders wichtig, wenn Timeshift vielleicht einmal gar nicht mehr funktioniert. Vielleicht erstellt dann Timeshift auch keine neuen Sicherungen mehr, aber die bisherigen Sicherungen sind dadurch nicht verloren:
Man erstellt einen (zusätzlichen) Mountpoint, der auf den Sicherungsort von Timeshift verweist, entweder mit dem Konsolkommando »
mount« oder (dauerhaft) mit einem Eintrag in der Datei /etc/fstab oder mit dem Tool »
Laufwerke«, das in Linux Mint vorinstalliert ist. So ein Mountpoint entspricht dem, was Timeshift selbst jedesmal (nicht dauerhaft) beim Start seines Fensters mit
/run/timeshift/... macht. Man erstelle aber einen extra
zusätzlichen Mountpoint.
6. Beispiele.
Die wohl nächstliegende Anwendung dieser Erklärungen ist das Sichern von eigenen Daten aus dem »Persönlichen Ordner«
/home/{benutzer}. Die folgenden Beispiele zeigen ein paar typische Aufgaben, unterschieden nach den Einstellungen »Benutzer« für den »Persönlichen Ordner /home/
{benutzer}« (
→ 3.4.), und zwar »Alle Dateien ausschließen« und »Alle Dateien einschließen«. Die dritte Möglichkeit »Nur versteckte Dateien einschließen« ergibt für alle versteckten Dateien dasselbe wie »Alle einschließen«, für die anderen »Alle ausschließen«.
Diese Spalte zeigt die ausgedachten Wünsche zu einer Sicherung:
grün: zu sichernde Daten
rot: auszuschließende Daten |
Die Lösung richtet sich nach den Timeshift-Einstellungen »Benutzer« für den »Persönlichen Ordner /home/{benutzer}« (→ 3.4.) |
Wenn in den Einstellungen »Alle Daten ausschließen« gewählt ist, verwende man diese Spalte |
Wenn in den Einstellungen »Alle Daten einschließen« gewählt ist, verwende man diese Spalte |
Ein Verzeichnis komplett sichern
/home/{benutzer}
- /Bilder
- /2021
- /2022
- /2023
- /Quellen
- bild4.png
- liste.txt
|
➕/home/{benutzer}/Bilder/*** |
kein Filter nötig Alle nicht gefilterten Daten werden gesichert |
Ein Verzeichnis komplett ausschließen
/home/{benutzer}
- /Bilder
- /2021
- /2022
- /2023
- /Quellen
- bild4.png
- liste.txt
|
kein Filter nötig Alle nicht gefilterten Daten werden nicht gesichert |
➖/home/{benutzer}/Bilder/***
statt dessen hier auch möglich:
➖/home/{benutzer}/Bilder/
oder auch:
➖/home/{benutzer}/Bilder
|
Nur ein bestimmtes Unterverzeichnis sichern
/home/{benutzer}
- /Bilder
- /2021
- /2022
- /2023
- /Quellen
- bild4.png
- liste.txt
|
➕/home/{benutzer}/Bilder/
➕/home/{benutzer}/Bilder/2023/*** |
➕/home/{benutzer}/Bilder/2023/***
➖/home/{benutzer}/Bilder/** |
Ein bestimmtes Unterverzeichnis ausschließen
/home/{benutzer}
- /Bilder
- /2021
- /2022
- /2023
- /Quellen
- bild4.png
- liste.txt
|
➕/home/{benutzer}/Bilder/
➖/home/{benutzer}/Bilder/2021/
➕/home/{benutzer}/Bilder/** |
➖/home/{benutzer}/Bilder/2021/ |
Alle Jahre, außer 2023, ausschließen; alles andere sichern
/home/{benutzer}
- /Bilder
- /2021
- /2022
- /2023
- /Quellen
- bild4.png
- liste.txt
|
➕/home/{benutzer}/Bilder/
➕/home/{benutzer}/Bilder/2023/***
➖/home/{benutzer}/Bilder/20*/***
➕/home/{benutzer}/Bilder/**
|
➕/home/{benutzer}/Bilder/2023/***
➖/home/{benutzer}/20*/*** |
In allen Fällen steht am Ende u.a. noch der von »Timeshift« automatisch angefügte Filter. |
➖/home/{benutzer}/** |
➕/home/{benutzer}/** |
Geschrieben: Oktober 2018 – Letzte Änderung: 03.05.2025