Wiki Mint SystemWiki Mint System
Home
Glossary
Mint System
Chat
GitHub
Home
Glossary
Mint System
Chat
GitHub
  • restic - Wiederherstellung von Backups

restic - Wiederherstellung von Backups

In diesem Dokument wird das Vorgehen zur Wiederherstellung aus einem Backup beschrieben.

Voraussetzung

Auf dem Host ist restic installiert und der Zugriff auf die Snapshots funktioniert.

Alle Dienste sind installiert und bereit zur Wiederherstellung.

Wiederherstellung

Restic Restore

Als erstes gilt es mit restic die Backups vom restic-Server herunterzuladen.

Angenommen man möchte das folgende Backup wiederherstellen:

restic-main snapshots
# 5e7325b4  2025-05-23 01:28:23  ov-c23f26   odoo,odoo-main       /mnt/sdb/backup/odoo-main.zip

Gibt man den folgenden Befehl ein:

restic-main restore 5e7325b4 --target /
# repository 5e7325b4 opened successfully, password is correct
# restoring <Snapshot 5e7325b4 of [/mnt/sdb/backup/odoo-main.zip] at 2025-05-23 01:28:23.496308871 +0200 CEST by root@ov-c23f26> to /

Odoo Datenbank

Handelt es sich beim Backup um eine Odoo Datenbank Backup, kann man diese wie folgt wiederherstellen:

docker-odoo-restore -c odoo-cd-odoo-dev-103 -d odoo-dev -f /mnt/sdb/backup/odoo-main.zip -r

Docker Volumes

Wenn es sich beim Backup um ein Docker-Volume handelt kann dieses mit einem Helper-Script oder ohne wiederhergestellt werden.

Mit Helper-Scripts

Bestehendes Volume ersetzen.

docker-postgres-restore -c postgres11 -f /var/tmp/postgres11/nextcloud.sql -r

Ohne Helper-Scripts

Der Docker-Befehl um ein Volume zu entpacken.

docker run --rm -v nextcloud_data03:/_data -v /var/tmp:/var/tmp ubuntu bash -c "cd /_data && tar xvf /var/tmp/nextcloud03/nextcloud_data03.tar --strip 1"

Postgres Dump

Bei einem Postgres-Dump kann ebenfalls ein Helper-Script verwendet werden.

Mit Helper-Scripts

Bestehende Datenbank erstetzen.

docker-postgres-restore -c postgres11 -f /var/tmp/postgres11/nextcloud.sql -r

Ohne Helper-Scripts

Bestehende Datenbank anzeigen und löschen.

docker exec -i postgres11 psql -U nextcloud -l
docker exec -i postgres11 psql -U nextcloud -d template1 -c "DROP DATABASE \"nextcloud\";"

Datenbank erstellen und Dump importieren.

docker exec -i postgres11 psql -U nextcloud -d template1 -c "CREATE DATABASE \"nextcloud\";"

cat /var/tmp/postgres11/nextcloud.sql | docker exec -i postgres11 psql -U nextcloud

docker exec -i postgres11 psql -U nextcloud -d template1 -c "GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud;"

Backlinks:

🔗 Backup
🔗 DRP - Server Totalausfall mit Nextcloud
🔗 DRP - Server Totalausfall mit Odoo
🔗 restic

📝 Edit on GitHub

This page is maintained by Mint System GmbH