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.
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.