Markus Michalski FAQ

restic-backup-suite: Fehlerbehebung

Fehlerbehebung für restic-backup-suite: Meldungen der Scripts mit Ursache und Lösung, SFTP-Verbindung, Repository-Init, Datenbank-Dumps, Locks und häufige Fragen.

English Version

Zurück zur Übersicht


Fehlerbehebung

Die Log-Dateien findest Du unter LOG_DIR (Vorlage: /var/log/restic/backup-YYYY-MM-DD.log), siehe Monitoring.

Meldungen der Scripts

Meldung Ursache Lösung
Config file not found: ... Weder --config, noch config.sh im Script-Verzeichnis, noch /etc/restic/config.sh vorhanden cp config.example.sh config.sh oder sudo ./install.sh
This script must be run as root. Aufruf ohne root Mit sudo starten
restic is not installed or not in PATH. restic fehlt restic installieren. Beim Cronjob den PATH in /etc/cron.d/restic-backup prüfen
SFTP connection to <host> failed. Verbindungstest mit BatchMode ist fehlgeschlagen: Host-Key unbekannt, Schlüssel nicht hinterlegt oder falscher Port sftp <SSH_HOST> von Hand ausführen, Host-Key in /root/.ssh/known_hosts aufnehmen
SSH key not found: ... (Warnung) SSH_KEY_FILE zeigt auf keine Datei Schlüssel erzeugen oder Pfad korrigieren
Failed to initialize restic repository. restic snapshots ist fehlgeschlagen und restic init ebenfalls. Auch ein bestehendes Repository mit falschem Passwort, nicht erreichbarem Speicher oder Lock löst diese Kette aus Passwort-Datei, Erreichbarkeit und restic snapshots von Hand prüfen (restic-snapshots)
Backup failed. restic backup ist fehlgeschlagen restic-Ausgabe im Log lesen
Retention policy failed (Warnung) restic forget --prune ist fehlgeschlagen, oft durch einen Lock restic-unlock, beim nächsten Lauf erneut
Repository check reported issues (Warnung) restic check hat Befunde restic check von Hand mit höherem Anteil ausführen
Container not running (skipped): ... Container in einer Dump-Liste läuft nicht Namen mit docker ps prüfen. Der Eintrag muss dem Namen exakt entsprechen
Invalid password env var name for ... Viertes Feld in DOCKER_MARIADB_CONTAINERS enthält unzulässige Zeichen Nur Buchstaben, Ziffern, Unterstrich
Access denied (using password: NO) im Dump Container verwendet eine andere Variable als MYSQL_ROOT_PASSWORD Viertes Feld setzen, zum Beispiel "container:root:db:MARIADB_ROOT_PASSWORD"
Neither mariadb-dump nor mysqldump found Kein Dump-Programm auf dem Host (nur beim nativen Dump) Paket mariadb-client oder mysql-client installieren
Neither mariadb nor mysql client found Kein Client auf dem Host (nur beim nativen Dump) Wie oben
Docker Compose file not found (skipped) Pfad in DOCKER_SERVICES_TO_STOP stimmt nicht Absoluten Pfad zur Compose-Datei prüfen
Could not write success marker (Warnung) Verzeichnis oder Dateisystem nicht beschreibbar Pfad SUCCESS_MARKER_FILE prüfen

Lock-Fehler

Nach einem abgebrochenen Lauf kann ein veralteter Lock im Repository bleiben. Entferne ihn mit restic-unlock, wenn sicher kein anderer Lauf aktiv ist.

Docker-Container laufen nach einem Fehler nicht

Der Neustart passiert im Cleanup des Scripts. Wurde das Script mit SIGKILL beendet oder ist der Server abgestürzt, fehlt der Neustart. Starte die Services dann von Hand, siehe Services stoppen.

Häufige Fragen

Warum läuft bei --dry-run Retention und Prune?

Weil --dry-run nur restic backup und das Stoppen der Docker-Services auslässt. Siehe Verwendung. Nutze --dry-run zum Testen der Pfade nur in Umgebungen, in denen Retention und das Stoppen von systemd-Services unkritisch sind.

Kann ich mehrere Server oder Repositories mit einer Konfiguration sichern?

Nein. Eine Konfigurationsdatei beschreibt ein Repository. Lege weitere Dateien an und rufe die Scripts mit --config auf.

Wie sichere ich ein zweites Repository?

restic-backup-suite hat dafür keine Funktion. Verwende die restic-Werkzeuge selbst oder ein weiteres Backup mit eigener Konfigurationsdatei.

Wo sind die SSH-Einstellungen?

Im Verzeichnis der Datei SSH_KEY_FILE, Unterordner config.d, Datei restic-backup.