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.
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-runist kein reiner Trockenlauf. Es überspringt nurrestic backupund das Stoppen der Docker-Services. Alles andere läuft: SSH-Konfiguration schreiben, Repository bei Bedarf initialisieren, systemd-Services stoppen, Datenbank-Dumps erzeugen, danachrestic forget --prunemit Deiner Retention undrestic 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) |