Backup & Restore – Systemdokumentation

1. Einleitung

Das YachtMemory Backup-System ist so aufgebaut, dass Backup, Speicherung und Validierung klar voneinander getrennt sind. Ziel ist es, nicht nur Backups zu erzeugen, sondern deren Wiederherstellbarkeit regelmäßig und automatisiert zu überprüfen.

Das System besteht aus drei dedizierten Komponenten:

---

2. Systemarchitektur

YMServer (Produktivsystem)
    │
    │ restic backup
    ▼
YMBackup (Repository /mnt/backup/restic-repo)
    │
    │ restic restore
    ▼
YMRestore (/mnt/backup/restore-test-auto)

Die Trennung stellt sicher:

---

3. Komponenten im Detail

3.1 YMServer (Backup-Client)

Backup-Skript:
/usr/local/bin/restic-backup
Repository-Konfiguration:
/etc/restic/backup.env
Beispiel:
RESTIC_REPOSITORY=sftp:backupadmin@10.99.0.6:/mnt/backup/restic-repo
---

3.2 YMBackup (Storage-Server)

Repository-Pfad:
/mnt/backup/restic-repo
---

3.3 YMRestore (Restore-Validator)

Restore-Test:
/usr/local/sbin/restic-restore-test
---

4. Definition des Backup-Umfangs

Der Umfang wird im Backup-Skript definiert:
restic backup \
    /etc \
    /home \
    /var/www \
    /var/backups/mysql

Hier wird festgelegt, welche Verzeichnisse gesichert werden.

---

Ausschlüsse

Datei:
/etc/restic/excludes.txt
Beispiel:
/tmp/*
/var/log/*
*.log
---

5. Automatischer Restore-Test

Zielverzeichnis

/mnt/backup/restore-test-auto/
Beispiel:
/mnt/backup/restore-test-auto/etc/hosts

Der Test wird bei jedem Lauf neu erstellt und überschreibt vorhandene Daten.

---

Funktion des Tests

Der Restore-Test prüft: ---

6. Automatisierung

YMRestore

30 3 * * * /usr/local/sbin/restic-restore-test
---

YMServer

Statusabgleich:
*/5 * * * * /usr/local/sbin/ymrestore-check
Überwachung:
/usr/local/sbin/backup-watchdog
---

7. Überwachung und Alarmierung

Überwacht wird: Bei Fehlern erfolgt automatische E-Mail-Benachrichtigung. ---

8. Manuelles Restore einzelner Daten

restic restore <snapshot-id> \
  --target /mnt/backup/manual-restore \
  --include /etc/hosts
---

9. Zielverzeichnisse

---

10. Vollständiger Restore (Disaster Recovery)

10.1 Ziel

Wiederherstellung eines kompletten Systems nach Ausfall. ---

10.2 Voraussetzungen

---

10.3 Zugriff konfigurieren

export RESTIC_REPOSITORY="sftp:backupadmin@10.99.0.6:/mnt/backup/restic-repo"
export RESTIC_PASSWORD="..."
---

10.4 Snapshot auswählen

restic snapshots
---

10.5 Restore durchführen

restic restore <snapshot-id> \
  --target /mnt/backup/manual-restore
---

10.6 Daten zurückspielen

Beispiele:
rsync -a /mnt/backup/manual-restore/etc/ /
rsync -a /mnt/backup/manual-restore/var/www/ /var/www/
---

10.7 Datenbanken wiederherstellen

mysql < /mnt/backup/manual-restore/var/backups/mysql/*.sql
---

10.8 Dienste starten

sudo systemctl restart apache2
sudo systemctl restart mariadb
---

11. Betriebsempfehlungen

---

12. Fazit

Das System stellt sicher, dass Backups nicht nur existieren, sondern regelmäßig und automatisiert auf Wiederherstellbarkeit geprüft werden.

Durch die Trennung von Produktivsystem, Backup-Speicher und Restore-Test-System wird ein hohes Maß an Ausfallsicherheit erreicht.