Restic für Backups nutzen

Für Backups nutze ich seit vielen Jahren rsync-time-backup. Allerdings hörte ich in letzter Zeit viel gutes über die freie Software Restic. Restic selbst wird über GitHub entwickelt und ist unter der BSD-Lizenz in der Zweiklausel-Version lizenziert. Unter Linux und macOS kann Restic einfach über entsprechende Paketmanager installiert werden:

brew install restic

Restic arbeiten mit sogenannten Repositories. In einem Repository befindet sich das entsprechende Backup mit all seinen Versionen. Um ein solchen Repository anzugelegen wirde der Befehl:

restic init --repo ./

genutzt. Bei Restic ist jedes Backup automatisch verschlüsselt, sodass bereits beim Anlegen eines Backups ein entsprechendes Passwort vergeben werden muss. Die Daten werden mit AES, bei 256 Bit, verschlüsselt.

restic.net

Danach kann theoretisch mit dem ersten Backup begonnen werden:

restic -r /Volumes/Volume/ResticRepository backup /Users/User

In diesem Fall würde der Ordner /Users/User/ in das Restic-Repository gesichert. Bevor das Backup startet, muss das entsprechende Passwort des Repositorys eingegeben werden. Anschließend wird der Nutzer über den Fortschritt des Prozesses informiert:

repository 567f35fa opened successfully, password is correct
created new cache in /Users/User/Library/Caches/restic
[0:09] 10 files 4.296 MiB, total 451 files 224.551 MiB, 0 errors
/Users/User/System/btrfstune
/Users/User/System/busybox
...

Nach dem Abschluss des Backups erscheint eine entsprechende Meldung im Terminal:

Files:          25 new,     0 changed,     0 unmodified
Dirs:            2 new,     0 changed,     0 unmodified
Added to the repo: 616.694 KiB

processed 25 files, 615.493 KiB in 0:00
snapshot 6c0d7af6 saved

Nun verfügt der Nutzer über ein Backup Repository mit einem bzw. mehreren Snapshots. Die angelegten Snapshots können über dem Befehl:

restic -r /Volumes/Volume/ResticRepository snapshots

angezeigt werden. Der Nutzer erhält eine entsprechende Ausgabe im Terminal:

repository fd5947c7 opened successfully, password is correct
ID        Time                 Host        Tags        Paths
------------------------------------------------------------------------------
6c0d7af6  2020-01-05 10:09:15  Earth.local             /Users/User/System
31d3160f  2020-01-05 10:11:30  Earth.local             /Users/User/System
38d6cbca  2020-01-05 10:15:09  Earth.local             /Users/User/System
ea96fa22  2020-01-05 10:15:20  Earth.local             /Users/User/System
------------------------------------------------------------------------------
4 snapshots

Das beste Backup nutzt nichts, wenn es nicht wiederhergestellt werden kann. Dazu wird die Option restore genutzt:

restic -r /Volumes/Volume/ResticRepository restore 38d6cbca --target /Users/User/System

Anschließend wird der gewünschte Snapshop wieder hergestellt:

repository fd5947c7 opened successfully, password is correct
restoring  to /Users/User/System

Soll anstatt eines bestimmten Snapshot der letzte Snapshot wiederhergestellt werden so wird anstatt einer Snapshot-ID einfach latest als Wert angegeben. Soll nur eine einzelne Datei wiederhergestellt werden, ist das komplette zurückspielen eines Backup eher suboptimal. Für einen solchen Fall können die Snapshots im Dateisystem gemountet werden.

restic -r /Volumes/Volume/ResticRepository mount /Volumes/Volume/ResticRepositoryMounted

Anschließend wird das Repository im Dateisystem unter dem angegebenen Mountpoint eingebunden:

repository fd5947c7 opened successfully, password is correct
Now serving the repository at /Volumes/Volume/ResticRepositoryMounted
When finished, quit with Ctrl-c or umount the mountpoint.

Im Gegensatz zu den Befehlen zur Wiederherstellung des Backups muss beim Mounten keine Snapshot-ID angegeben werden. In der gemounteten Struktur werden stattdessen alle Snapshots angezeigt. Die gewünschte Datei zur Wiederherstellung kann somit gesucht und wiederhergestellt werden.

Beim Backup sollen in vielen Fällen bestimmte Dateien nicht gesichert werden. Dies können z.B. temporäre Dateien oder Caches sein. Um diese Datei vom Backup auszuschließen, kann ein sogenanntes Exclude File genutzt werden:

restic -r /Volumes/Volume/ResticRepository backup /Users/User/System --exclude-file="/Users/User/excludes.txt"

Eine solche Datei könnte z.B. wie folgt aussehen:

+ /etc/
+ /home/
+ /root/
+ /srv/
+ /usr/local/
+ /var/

- /*
- /var/cache/*
- /var/lib/lxcfs/*
- /var/log/*
- /var/tmp/*

Neben diesen Basisfunktionalitäten, verfügt Restic über weitere Funktionen, so z.B. zum Löschen alter Snapshots nach bestimmten Regeln. Alles in allem wirkt Restic für mich wie eine durchdachte Backup-Lösung, deren Nutzung durchaus ins Auge gefasst werden kann.

Backups unter LibreOffice

Keine Software ist ohne Fehler. Und so kann es auch bei der Office-Lösung LibreOffice zu dem einen oder anderen unschönen Absturz kommen. Problematisch ist dies nur dann, wenn darunter das Dokument zu leiden hat, welches gerade bearbeitet wurde. So kann es im schlimmsten Fall passieren, dass das Dokument auf einmal weg ist.

Die Optionen von LibreOffice unter macOS

Allerdings werden die Dokumente im Normalfall von LibreOffice automatisch in einem Backup-Ordner gesichert. Um den Pfad dieses Backup-Ordners in Erfahrung zu bringen, muss LibreOffice geöffnet werden. Dort findet sich in den Einstellungen unter dem Punkt Pfade eine Auflistung der Pfade, welche von LibreOffice genutzt werden. Einer der Pfade ist der Pfad für Backups bzw. Sicherheitskopien. Im Falle eines Falles kann in diesem Ordner nachgeschaut werden, ob die gesuchte Datei sich dort in einer älteren Version befindet und so das schlimmste abgewendet werden.

Minecraft-Backup partiell einspielen

Ein Backup ist immer eine gute Idee. Vor allem dann, wenn es das Backup eines Minecraft-Servers ist. Immerhin, kann es dort durchaus einmal zu Unfällen kommen. In einem solchen Fall ist es sinnvoll das vorhandene Backup einzuspielen.

Unfälle passieren; ein Backup sichert so etwas ab

Natürlich soll in den meisten Fällen nicht ein komplettes Backup, sondern nur der betroffene Teil neu eingespielt werden. In diesem Fall sollte allerdings klar sein, wo sich die betroffenen Teile befinden. Die einzelnen Chunks der Minecraft-Welt werden in sogenannten Region-Dateien zusammengefasst. Diese Region-Dateien finden sich im Ordner region, in den Minecraft-Daten.

Mit den Coordinate Tools kann anhand der Koordinaten die entsprechende Region ermittelt werden

Um herauszufinden, welche Regionen neu eingespielt werden müssen, können die Coordinate-Tools des Entwicklers Dinnerbone genutzt werden. Dazu müssen die Koordinaten der beschädigten Region über den Debug-Screen (F3) im Spiel ermittelt werden. Diese Koordinaten werden in die Coordinate-Tools eingegeben. In der Sektion Region Information finden sich anschließend der Dateiname der entsprechenden Region. Diese Datei kann dann vom Backup in den region-Ordner eingespielt werden. Der Minecraft-Server sollte vor dem Einspielen des Backups heruntergefahren und anschließend wieder hochgefahren werden.

Datenbank und Medienoptimierung unter WordPress

Im Laufe des Lebens einer WordPress-Installation kann sich dass eine oder andere Datenfragment ansammeln. So existieren Einträge in der Datenbank welche nicht mehr benötigt werden oder es befinden sich Medien in der Mediathek, welche von keinem Eintrag mehr verwendet werden. Um dieser Probleme Herr zu werden existieren eine Reihe von Plugins zur Bereinigung der Installation.

Die Übersicht des Media Cleaners

Das erste Plugin, der Media Cleaner, ermittelt welche Medien sich in der WordPress-eigenen Mediathek befinden, aber nicht mehr genutzt werden. Nicht mehr genutzte Medien können anschließend gelöscht werden. Die Medien sollten allerdings mit Bedacht gelöscht werden; so erkennt der Media Cleaner keine URLs, welche sich normal im Text (sprich ohne a-Tag oder ähnliches) befinden. Auch kann es passieren das Bilder die laut dem Plugin nicht genutzt sind, falsch in den Beiträgen referenziert werden. So kann durch Domainumzüge und ähnliches der falsche Pfad zum Medium in den Beiträgen stehen. Hier muss der entsprechende Beitrag korrigiert werden.

Ein weiterer Punkt, auf der Liste zur Optimierung, ist die Datenbank. So speichert WordPress z.B. zu jedem Artikel die Revisionen. Pro Artikel können da schon ein halbes Dutzend und mehr Revisionen zusammenkommen. Mit dem Plugin WP-Optimize kann die Datenbank entsprechend bereinigt werden. Neben den Revision, werden die Tabellen optimiert und verwaiste Fragmente ebenfalls entfernt.

Eine weitere Sache bei der Optimierung von WordPress ist die Überprüfung der Verlinkungen. Mit dem Plugin Broken Link Checker kann dies bewerkstelligt werden. Nach der Installation überprüft das Plugin die Links innerhalb der Installation als auch externe Linkziele und stellt diese entsprechend da.

Broken Link Checker
Preis: Kostenlos

Bevor solche Optimierungen an der WordPress-Installation vorgenommen werden, sollte ein Backup der Datenbank und des Dateisystems erstellt werden. So kann die Installation, im Falle eines Fehler oder einer übereifrigen Optimierung, wieder hergestellt werden.

Backups von iOS-Geräten unter iTunes löschen

Mittels iTunes ist es möglich Backups von iOS-Geräten zu erstellen. Dies ist unter anderem dann praktisch wenn die Daten von einem iPhone auf ein anderes iPhone übertragen werden sollen. Bei mir ist dies der häufigste Anwendungsfall für iTunes-Backups von iOS-Geräten. Nach dem erfolgreichen Transfer kann das erstellte Backup wieder entfernt werden.

Die Übersicht der Backups unter iTunes

Dies kann ebenfalls mittels iTunes bewerkstelligt werden. Dazu müssen die Einstellungen innerhalb iTunes aufgerufen werden. Dort muss anschließend der Tab Geräte ausgewählt werden. Unter diesem Tab sind die erstellten Backups aufgeführt. Sie können dort ausgewählt und anschließend gelöscht werden.