Markus Michalski FAQ

restic-backup-suite: Verwendung

Befehle von restic-backup-suite: restic-backup mit Dry-Run und Dump-Only, restic-inspect als Snapshot-Browser, install.sh-Optionen, Shell-Aliase und Makefile-Ziele.

English Version

Zurück zur Übersicht


Verwendung

Nach der Installation stehen drei Befehle zur Verfügung. Alle müssen als root laufen.

Befehl Script Zweck
restic-backup backup.sh Backup mit Datenbank-Dumps, Retention und Prüfung
restic-restore restore.sh Interaktive Wiederherstellung, siehe Restore
restic-inspect inspect.sh Snapshots ansehen, ohne etwas wiederherzustellen

Alle drei akzeptieren --config <Datei> und -h/--help. Mit TRACE=1 in der Umgebung schalten sie set -o xtrace ein.

restic-backup

sudo restic-backup [--config DATEI] [--dry-run] [--dump-only]
Option Wirkung
--config DATEI Andere Konfigurationsdatei
--dry-run Listet die Backup-Pfade, ohne restic backup auszuführen
--dump-only Führt nur die Datenbank-Dumps aus

Ohne Option läuft das vollständige Backup. Den Ablauf beschreibt die Seite Technische Details.

--dry-run ist kein reiner Trockenlauf. Es überspringt nur restic backup und das Stoppen der Docker-Services. Alles andere läuft: SSH-Konfiguration schreiben, Repository bei Bedarf initialisieren, systemd-Services stoppen, Datenbank-Dumps erzeugen, danach restic forget --prune mit Deiner Retention und restic check. Die Marker-Datei wird nicht geschrieben.

Dump-Only

sudo restic-backup --dump-only

Erzeugt alle konfigurierten Datenbank-Dumps in einem temporären Verzeichnis, listet die Dateien mit Größe und beendet sich mit Exit-Code 0 oder 1. Es werden weder SSH-Konfiguration geschrieben noch das Repository angefasst noch Services gestoppt. Das temporäre Verzeichnis wird beim Beenden gelöscht. Der Modus eignet sich, um neue Container-Einträge zu testen.

restic-inspect

sudo restic-inspect [--config DATEI] [--snapshot ID | ID]

Ohne Snapshot-Angabe listet das Script die Snapshots und fragt nach einer ID (Enter wählt latest). Eine ID oder latest kannst Du auch direkt als Argument übergeben. Danach erscheint das Menü:

Auswahl Funktion
1 Snapshot-Details (restic snapshots <ID> --verbose)
2 Statistik der Wiederherstellungsgröße (restic stats --mode restore-size)
3 Dateien auflisten, optional mit Pfad-Präfix (restic ls --long); lange Ausgaben gehen in less
4 Dateipfade nach Teilstring suchen (ohne Beachtung der Groß-/Kleinschreibung)
5 Diff gegen einen anderen Snapshot (restic diff)
6 Datenbank-Dumps des Snapshots anzeigen
s Anderen Snapshot wählen
q Beenden

restic-inspect stellt nichts wieder her.

Shell-Aliase

Der Installer legt /etc/profile.d/restic-aliases.sh an. Die Aliase stehen nach dem nächsten Login zur Verfügung oder nach source /etc/profile.d/restic-aliases.sh. Jeder Alias liest zuerst /etc/restic/config.sh ein.

Alias Entspricht
restic-snapshots restic snapshots
restic-stats restic stats --mode restore-size
restic-check restic check --read-data-subset=5% (fest 5 %, unabhängig von REPO_CHECK_SUBSET)
restic-ls restic ls latest
restic-mount restic mount (braucht FUSE), zum Beispiel restic-mount /mnt/restic
restic-unlock restic unlock
restic-rawstats restic stats --mode raw-data latest

Die Aliase lesen nur /etc/restic/config.sh, nicht eine Datei im Klon-Verzeichnis.

Installer-Optionen

sudo ./install.sh [--cron] [--uninstall] [-h]
Option Wirkung
--cron Installiert zusätzlich den Cronjob. Auf einem bereits installierten System legt die Option nur den Cronjob an
--uninstall Entfernt Symlinks, Aliase und Cronjob, fragt nach dem Löschen von /etc/restic

Makefile

Im Klon-Verzeichnis gibt es ein Makefile als Abkürzung.

Ziel Wirkung
make install install.sh
make install-cron install.sh --cron
make uninstall install.sh --uninstall
make lint / make check ShellCheck über alle Scripts (braucht shellcheck)