Backup-Wiederherstellung mit Restic
Einer meiner Server mit einer Wordpress-Installation wurde unglücklicherweise gehackt. Um den Server neu aufzusetzen musste ich mein Backup verwenden.
Die folgenden Commands waren relevant:
restic snapshots
gibt einen groben Überblick, welche Snapshots es überhaupt gibt. Um Dateien zu suchen, verwendet man restic find <path>
. restic ls <snapshot id>
gibt alle Dateien in einem Snapshot aus.
Was auch praktisch ist, ist der Diff zwischen zwei Snapshots mit restic diff <snapshot 1> <snapshot 2>
, um zu sehen welche Dateien neu gespeichert oder geändert wurden.
Wenn man den richtigen Snapshot gefunden hat, kann man entweder restic dump <snapshot> <path>
verwenden, um eine Datei zu stdout
zu dumpen. Vielleicht einfacher ist es, den ganzen Snapshot als Ordner mittels restic mount <directory>
zu mounten. Im Filesystem gibt es dann eingehängte Ordner für Snapshots nach Host, Datum und ID, und Tags. Die Dateien kann man dann einfach kopieren.
Nach dem Manual ist es schneller, einen Snapshot direkt mit restic restore <snapshot id> --target <local folder>
wiederherzustellen. Dieses Command stellt den Ordner wie in restic ls
wieder im target
-Ordner her. Ich habe mein Backup mit der mount-Methode wiederhergestellt, das hat sich aber tatsächlich etwas langsamer angefühlt.
Zusammenfassung
Eigentlich musste ich nur die folgenden Schritte anwenden:
- Den richtigen Snapshot mit
restic find <file>
finden und mitrestic diff <id 1> <id 2>
vergleichen - Den Inhalt des Snapshots mittels
restic ls <id>
verifizieren - Das Backup mounten:
restic mount
- Die Dateien mit
cp
wiederherstellen