English

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:

  1. Den richtigen Snapshot mit restic find <file> finden und mit restic diff <id 1> <id 2> vergleichen
  2. Den Inhalt des Snapshots mittels restic ls <id> verifizieren
  3. Das Backup mounten: restic mount
  4. Die Dateien mit cp wiederherstellen