Snapshots mit Timeshift erstellen

Aus LinuxUser 06/2019

Snapshots mit Timeshift erstellen

© Vitaliy Culemans, 123RF

Zeitsprung

Mit dem für Linux Mint entwickelten Tool Timeshift erstellen Sie einfach System-Snapshots, verwalten sie und spielen sie bei Bedarf wieder zurück.

Die Datensicherung betrachten bekanntermaßen viele Anwender als notwendiges, aber recht lästiges Übel. Idealerweise gestaltet man das Backup also so, dass man sich nur einmal Gedanken darüber machen muss: beim Erarbeiten einer Strategie, bei der die Software der Wahl künftig ohne weiteres Zutun diesen Job übernimmt.

Dabei unterscheidet man zwischen Backup und Snapshots, wobei das eine das andere nicht ersetzt. Zur letzteren Gattung, die bei Windows unter dem Label Systemwiederherstellung läuft und bei MacOS Time Machine heißt, zählen neben der reinen Kommandozeilenlösung Cya [1] und Snapper [2] auch das unkomplizierte Timeshift [3].

Timeshift wurde vor sechs Jahren erstmals veröffentlicht und verwendet zum Erstellen von Snapshots unter der grafischen Oberfläche zwei Techniken. Basiert die Installation des Betriebssystems auf herkömmlichen Dateisystemen, greift es zum Spiegeln auf das mächtige Rsync-Protokoll zurück. Daneben beherrscht die Software aber auch Snapshots mit Btrfs. Dazu muss das Betriebssystem das Layout mit Btrfs-Subvolumes [4] unterstützen. Wir testen beide Ansätze.

Der Entwickler weist ausdrücklich darauf hin, dass das Programm keinen Ersatz für Backups darstellt: In der Grundeinstellung sichert es das Home-Verzeichnis des Users nicht mit. Wird bei Verwendung von Btrfs das Dateisystem beschädigt oder geht die Festplatte kaputt, sind die Snapshots wertlos. Deswegen sollten Sie immer ein Backup in der Hinterhand haben.

Timeshift steht für Betriebssysteme mit RPM oder DEB sowie für Arch Linux und dessen Derivate bereit. Die Installation und das Einrichten gestalten sich recht unkompliziert. Gibt es für die von Ihnen verwendete Distribution kein Timeshift-Paket, greifen Sie zum distributionsunabhängigen Installer [5] mit der Endung .run, den Sie zusammen mit den DEB-Paketen und dem Quellcode auf der Heft-DVD finden.

Konfiguration

Nach dem ersten Start der Anwendung nehmen Sie Ihre Einstellungen unter dem gleichnamigen Menüpunkt vor. Sie finden dort die fünf Reiter Typ, Ort, Zeitplan, Benutzer und Filter. Zunächst müssen Sie sich entscheiden, ob Sie die Snapshots mit Rsync oder mit Btrfs erstellen möchten; in der Mehrzahl der Fälle kommt wohl Rsync zum Zug.

Im Reiter Typ finden Sie durch einen Klick auf den Pfeil unter dem Auswahlfeld Informationen zu beiden Methoden (Abbildung 1). Wir wenden uns zunächst der herkömmlicheren Methode per Rsync zu. Snapshots per Rsync erstellt Timeshift in Form von Kopien veränderter Dateien sowie von Hardlinks [6] auf unveränderte Dateien aus früheren Snapshots. Somit entspricht nur der erste Snapshot in der Größe den darin gespeicherten Daten, alle folgenden sind inkrementell.

Abbildung 1: Im Reiter <span class="ui-element">Typ</span> w&auml;hlen Sie bei allen Dateisystemen au&szlig;er Btrfs die Methode <span class="ui-element">Rsync</span>.

Abbildung 1: Im Reiter Typ wählen Sie bei allen Dateisystemen außer Btrfs die Methode Rsync.

Mit der Rsync-Methode erstellt Timeshift seine Snapshots standardmäßig auf dem Systemlaufwerk. Das sollten Sie ändern, indem Sie ein anderes internes oder externes Laufwerk mit Linux-Dateisystem und ausreichend Platz auswählen. So lässt sich das System auch dann wiederherstellen, wenn das Systemlaufwerk beschädigt oder versehentlich formatiert wurde.

LUKS und LVM

Timeshift kann mit per LUKS verschlüsselten Systemen umgehen, auch wenn Sie diese per LVM aufgesetzt haben. Die Software unterstützt auch UEFI, setzt dafür aber den Bootloader Grub2 voraus. Docker oder andere Container unterstützt das Tool bislang ebensowenig wie die Verzeichnisse von Ubuntus Paketsystem Snap, die standardmäßig unter /dev/loop liegen. Snapshots dürfen zudem nicht auf Netzlaufwerken oder entfernten Geräten liegen.

Nach Anwahl der gewünschten Methode geht es weiter zum Reiter Ort, in dem Sie den Speicherort festlegen (Abbildung 2). Er muss genügend freien Plattenplatz bieten. Allerdings lässt sich der entsprechende Bedarf erst dann genau kalkulieren, wenn Sie festgelegt haben, wie oft Sie Snapshots erstellen und wie viele davon Sie behalten möchten.

Abbildung 2: Der Reiter <span class="ui-element">Ort</span> zeigt nur verwendbare Linux-Partitionen an. Hier sollten Sie m&ouml;glichst einen Speicherort au&szlig;erhalb der System- und Home-Partition angeben.

Abbildung 2: Der Reiter Ort zeigt nur verwendbare Linux-Partitionen an. Hier sollten Sie möglichst einen Speicherort außerhalb der System- und Home-Partition angeben.

Das täglich aktualisierte Testsystem belegt nach zweijährigem Betrieb etwa 120 GByte, wobei der initiale Snapshot eine Größe von 55 GByte aufweist und das System insgesamt sieben Snapshots vorhält. Ein selten aktualisiertes oder wenig benutztes System benötigt voraussichtlich aber weniger Platz.

Nun geht es im Reiter Zeitplan darum, wann Snapshots erstellt werden und wie viele davon Sie für den Notfall vorhalten möchten. Zur Auswahl stehen stündliche, tägliche, wöchentliche und monatliche Schnappschüsse (Abbildung 3). Timeshift startet sich einmal stündlich selbst und erledigt die anstehenden Aufgaben.

Abbildung 3: Im Reiter <span class="ui-element">Zeitplan</span> legen Sie fest, zu welchem Zeitpunkt Timeshift Snapshots anlegt und wie viele es vorh&auml;lt.

Abbildung 3: Im Reiter Zeitplan legen Sie fest, zu welchem Zeitpunkt Timeshift Snapshots anlegt und wie viele es vorhält.

Home außen vor

Der Reiter Benutzer listet die Systembenutzer auf. Dazu zählen in jedem Fall root und einer oder mehrere unprivilegierte User (Abbildung 4). Hier entscheiden Sie, ob und welche Home-Verzeichnisse Sie in den Snapshot mit einbeziehen möchten. Das Home von root müssen Sie normalerweise nicht sichern.

Beim Home der unprivilegierten User sollten Sie die versteckten Dateien mitsichern. Das gesamte Heimatverzeichnis zu sichern, wäre kontraproduktiv: Wenn Sie einen älteren Snapshot wiederherstellen müssen, würden beim Restore von Home alle persönlichen Daten mit älteren Varianten überschrieben. Deswegen sollten Sie das besser mit einem herkömmlichen Backup erledigen.

Abbildung 4: Der Reiter <span class="ui-element">Benutzer</span> listet die Systembenutzer auf und erlaubt einen generischen Ein- oder Ausschluss der Homes. &Uuml;ber die Filter im n&auml;chsten Reiter nehmen Sie die Feineinstellung vor.

Abbildung 4: Der Reiter Benutzer listet die Systembenutzer auf und erlaubt einen generischen Ein- oder Ausschluss der Homes. Über die Filter im nächsten Reiter nehmen Sie die Feineinstellung vor.

Der letzte Reiter namens Filter beeinflusst wesentlich die Größe der Snapshots. Hier lassen sich Dateitypen, Verzeichnisse und Dateien von der Speicherung ausnehmen. Die bereits voreingestellten Filter resultieren aus den Einstellungen des vorherigen Reiters. Über weitere Kandidaten zum Ausschluss entscheiden Sie (Abbildung 5).

Abbildung 5: Die Filter zum pr&auml;zisen Ausschluss von Dateitypen, Ordnern und Verzeichnissen funktionieren nach einer eigenen Logik, die sich nicht aus der Dokumentation erschlie&szlig;t.

Abbildung 5: Die Filter zum präzisen Ausschluss von Dateitypen, Ordnern und Verzeichnissen funktionieren nach einer eigenen Logik, die sich nicht aus der Dokumentation erschließt.

Die Protokolle in /var/log schließen Sie am besten generell aus, ebenso /var/apt. Auch unter den versteckten Dateien im Heimatverzeichnis befinden sich Ausschlusskandidaten. In unserem Fall gehören etwa die umfangreichen Konfigurationsdateien der installierten Browser dazu, die bereits das tägliche Backup einschließen. Verzeichnisse wie dev/, proc/, sys/, media/, mnt/,tmp/ und run/ schließt die Software bereits automatisch aus. Alle weiteren Ausschlüsse zeigt die Zusammenfassung am Ende.

Filter definieren

In die Benutzung der Filter muss man sich hineindenken. Nehmen wir an, Sie haben unter Benutzer die mittlere Option für Home gewählt: Dann sichert Timeshift nur versteckte Dateien. Sie möchten aber zusätzlich das Verzeichnis /home/User/foo/ sichern, jedoch ohne das darin enthaltene Unterverzeichnis bar/. Den entsprechenden Filter zeigt Listing 1.

Listing 1

+ /home/User/
- /home/User/foo/bar/
+ /home/User/foo/***

Rein logisch gesehen gehört die ausschließende Zeile eigentlich ans Ende. Das würde aber nicht funktionieren, weil Filter zwar auf die nachfolgenden Filter wirken, aber nicht rückwirkend greifen. Stünde der Ausschluss von bar/ am Ende der Liste, würde es trotzdem gesichert, da es der Filter /home/User/foo/*** bereits einschließt und es sich rückwirkend nicht mehr ausschließen lässt. Einen guten Überblick, besonders über den Einsatz von Filtern, bietet ein lesenswerter Artikel von Wolfgang Pavel [7].

Einfach Btrfs

Beim Verwenden von Timeshift mit Btrfs gestaltet sich die Konfiguration noch einfacher, da die Snapshots generell auf der Systempartition landen. Zudem umfasst ein Snapshot immer das gesamte System, abgesehen von Home.

In den Reitern Typ, Ort, Zeitplan und Benutzer gibt es nur wenig einzustellen. Typ und Zeitplan sind identisch mit den Reitern bei der Rsync-Konfiguration. Als Ort gibt Timeshift die Systempartition bereits vor, unter Benutzer lässt sich das Heimatverzeichnis mit einbinden sowie mit Btrfs groups Unterstützung für Quota aktivieren [8].

Falls Sie sich fragen, wozu neben Einstellungen der Menüpunkt Assistent dient, so stehen Sie damit nicht alleine: Der einzige Unterschied neben der Zusammenfassung am Ende besteht in der Absenz des Menüpunkts Filter. Somit scheint der Assistent für Anwender gedacht zu sein, die keine Filter setzen möchten.

Erster Test

Nach Abschluss der Konfiguration erstellen Sie als Test im Hauptfenster einen ersten manuellen Snapshot. In den ersten Tagen sollten Sie überprüfen, ob Timeshift zu Ihrer Zufriedenheit arbeitet (Abbildung 6).

Abbildung 6: Timeshift l&auml;uft auf dem abgebildeten System seit rund zwei Jahren ohne Probleme. Nach dem ersten Monat schwankt der belegte Speicherplatz nur noch minimal. Ein Klick auf einen Snapshot aus der Liste erlaubt die Eingabe von Kommentaren.

Abbildung 6: Timeshift läuft auf dem abgebildeten System seit rund zwei Jahren ohne Probleme. Nach dem ersten Monat schwankt der belegte Speicherplatz nur noch minimal. Ein Klick auf einen Snapshot aus der Liste erlaubt die Eingabe von Kommentaren.

Sie sollten das Tool außerdem einmal als Root im Terminal starten, was sämtliche verfügbaren Optionen anzeigt. So informiert etwa timeline --list über die verwendete Methode, den Speicherort und die einzelnen Snapshots. Diese Funktion sollten Sie kennen, falls Sie später eine Rücksicherung ohne grafische Oberfläche vornehmen müssen.

Einfach zurücksichern

Timeshift verwendet eine dem Dateisystem entsprechende Verzeichnisstruktur. Gleichermaßen lässt sich im Schadensfall der entsprechende Ordner oder die Datei per Copy & Paste zurücksichern (Abbildung 7). Geht es um den Rollback des gesamten Systems, so erfolgt dieser entweder aus dem laufenden System mit anschließendem Neustart oder aus einer anderen installierten Distribution beziehungsweise über ein Live-Medium.

Abbildung 7: Anders als einige Backup-Anwendungen verwendet Timeshift kein propriet&auml;res Dateiformat, sondern erlaubt das manuelle Zur&uuml;cksichern einzelner Dateien und Verzeichnisse.

Abbildung 7: Anders als einige Backup-Anwendungen verwendet Timeshift kein proprietäres Dateiformat, sondern erlaubt das manuelle Zurücksichern einzelner Dateien und Verzeichnisse.

Bei mehreren installierten Distributionen gelingt die Wiederherstellung auch vom Nachbarsystem – vorausgesetzt, Timeshift lässt sich darauf installieren. Sofern die Snapshots nicht auf der Systemplatte liegen, könnten Sie theoretisch eine andere Distribution installieren und bei Nichtgefallen das alte System über ein Live-Medium wiederherstellen. Dabei müssten Sie lediglich manuell die UUID anpassen, da ja die Partition zwischenzeitlich formatiert wurde.

Aus dem laufenden System

Zur Wiederherstellung aus dem laufenden System heraus wählen Sie den Snapshot aus, den Sie wiederherstellen möchten, und klicken in der Menüleiste auf Wiederherstellen. Daraufhin wählen Sie bei Rsync das Ziellaufwerk aus (Abbildung 8). Darin passen Sie optional auch den Bootloader an, falls mit der Voreinstellung der anschließende Neustart misslingt. Bei Btrfs sind Quell- und Ziellaufwerk im Normalfall identisch.

Abbildung 8: Generell passen die Vorgaben, die Timeshift f&uuml;r das Ziellaufwerk angibt. Trotzdem sollten Sie einen pr&uuml;fenden Blick darauf werfen.

Abbildung 8: Generell passen die Vorgaben, die Timeshift für das Ziellaufwerk angibt. Trotzdem sollten Sie einen prüfenden Blick darauf werfen.

Im nächsten Fenster nimmt Timeshift einen Testlauf vor und führt dann sämtliche Dateien auf, die es wiederherstellt. Hier nehmen Sie bei Bedarf auch eine Suche nach Paketen vor. Das letzte Fenster zeigt nochmals die betreffenden Partitionen an (Abbildung 9). Klicken Sie hier auf Weiter, beginnt die Wiederherstellung. Laufende Anwendungen sollten Sie vorher sicherheitshalber schließen.

Abbildung 9: Das letzte Fenster vor Beginn der R&uuml;cksicherung zeigt (hier als Beispiel mit Btrfs) noch einmal an, was passiert, sobald Sie <span class="ui-element">Weiter</span> dr&uuml;cken. Danach gibt es kein Zur&uuml;ck mehr.

Abbildung 9: Das letzte Fenster vor Beginn der Rücksicherung zeigt (hier als Beispiel mit Btrfs) noch einmal an, was passiert, sobald Sie Weiter drücken. Danach gibt es kein Zurück mehr.

Falls Sie den Prozess aus dem laufenden System heraus anstoßen, öffnet sich nun ein Terminal, in dem Timeshift die Dateien wiederherstellt. Unterbrechen Sie den Vorgang im Terminal nicht – das könnte zu irreparablen Schäden an der Installation führen. Nach Abschluss der Wiederherstellung startet das System automatisch neu, bootet den ausgewählten Snapshot und stellt dann den aktuellen Stand des Systems dar.

Von außerhalb

Wenn Sie das System von Remote wiederherstellen, stellt Timeshift stattdessen den Fortschritt grafisch dar. Nach Abschluss des Vorgangs starten Sie das System neu. Gelingt das nicht, testen Sie einen weiteren Snapshot oder passen den Bootloader entsprechend an. In unserem Test traten solche Probleme jedoch in keinem Fall auf.

Verwenden Sie Timeshift mit Btrfs, so arbeiten Sie bei Bedarf nach dem Restore sofort weiter. Das gewünschte Subvolume wechselt dann beim nächsten Neustart zum Standard. Das Wiederherstellen von Btrfs-Snapshots dauert nur Sekunden, bei Rsync dagegen je nach Menge der Daten zehn Minuten oder mehr.

Falls Sie auf einem Btrfs-System zunächst Rsync testen, um später zu Btrfs-Snapshots zu wechseln, stellen Sie fest, dass Timeshift die Rsync-Konfiguration entfernt. Dabei handelt es sich aber lediglich um ein quasi optisches Problem: Sobald Sie wieder auf Rsync wechseln, sehen Sie, dass alle entsprechenden Snapshots noch vorhanden sind.

Tests bestanden

Timeshift bestand unsere Tests auf verschiedenen Systemen mit Rsync und Btrfs mit Bravour. Egal, ob Standard, verschlüsselt oder LVM – die Wiederherstellung gelang jedes Mal auf Anhieb. Zudem setzt der Autor Timeshift auf einem System seit rund zwei Jahren ein, bislang ohne jedes Problem.

Allerdings könnte Timeshift besser dokumentiert sein: Das Wiki des Entwicklers auf GitHub [9] gibt sich recht schmallippig. So fehlt nicht nur eine Erläuterung der Filter, sondern auch eine Anleitung für Btrfs, um das notwendige Ubuntu-Subvolume-Layout zu erstellen. Nicht alle Distributionen installieren Btrfs mit den Subvolumes @ und @home. So verwendet etwa OpenSuse ein völlig anderes Layout, das sich an Snapper orientiert und sich für Timeshift nicht eignet. Es fehlt zudem eine Manpage für Timeshift oder zumindest eine Erwähnung der Möglichkeit, das Tool auch auf der Kommandozeile einzusetzen.

Fazit und Ausblick

Es scheint so, als sei Timeshift auf Anwender von Linux Mint zugeschnitten. So muss man sich einiges an Information über fortgeschrittene Anwendungsmöglichkeiten selbst im Internet zusammensuchen. Das tut der hohen Funktionalität von Timeshift aber keinen Abbruch.

Als Erweiterung wäre eine Integration in den Update- und den Bootmanager wünschenswert, wie das OpenSuse mit Snapper praktiziert. Zudem könnte die Darstellung der Snapshots aussagekräftiger ausfallen, sodass man weiß, welchen Stand die einzelnen Snapshots enthalten. Hier hilft aber die integrierte Kommentarfunktion weiter. Für Btrfs erlaubt es das Script Grub-btrfs [10], Snapshots im Bootmanager bereitzustellen. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 06/2019 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben