Zum Inhalt springen
>_<
AI EngineeringWiki

Backup Strategie für Homelab

Security · 5 min

Backup und Disaster Recovery
Backup und Disaster Recovery
📋 Auf einen Blick

3-2-1 Regel: 3 Kopien, 2 verschiedene Medien, 1 Offsite. Docker Volumes täglich sichern, Configs bei Änderung. Restic für verschlüsselte Backups, Rclone für Cloud-Sync. Restore testen — ein Backup das du nicht wiederherstellen kannst ist keins.

3-2-1 Backup Regel
Die 3-2-1 Backup-Regel: 3 Kopien, 2 Medien, 1 Offsite

Backups sind langweilig bis du sie brauchst. Dann sind sie lebensrettend. Hier ist unsere Strategie.

Diagramm wird geladen...

3-2-1 Regel

  • 3 Kopien deiner Daten
  • 2 verschiedene Medien (SSD, NAS, Cloud)
  • 1 Kopie offsite (außer Haus)

Was sichern?

DatenPrioritätHäufigkeit
Docker VolumesHochTäglich
ConfigsHochBei Änderung
Git ReposHochAuto (GitHub)
Media/DownloadsNiedrigWöchentlich

Backup Tools

  • Restic - Einfach, verschlüsselt, dedup
  • Rclone - Cloud-Sync
  • Duplicati - Web-UI
  • Proxmox Backup - Wenn PVE genutzt

Beispiel: Restic

# Restic installieren
sudo apt install restic
# oder
pip install restic

# Repository initialisieren
restic -r /mnt/backup init

# Oder mit Password
restic -r /mnt/backup -p $RESTIC_PASSWORD backup /home/data

# Backup erstellen
restic -r /mnt/backup -p $RESTIC_PASSWORD backup /home/data

# Backup planen (cron)
0 2 * * * RESTIC_PASSWORD=meinpass restic -r /mnt/backup backup /home/data

# Aufräumen (nur 7 Tage behalten)
restic forget --keep-daily 7 --prune

# Test-Restore
restic restore latest --target /tmp/restore

# Snapshots anzeigen
restic snapshots

Rclone für Cloud-Backup

# Rclone konfigurieren
rclone config

# Zu Cloud backupen
rclone copy /local/data remote:backup -P

# Oder mit crypt (verschlüsselt)
rclone copy /local/data crypt-remote:backup -P

# Backup Script
#!/bin/bash
# backup.sh
rclone sync /data remote:backup   --exclude "*.tmp"   --exclude ".git/**"   --progress   --transfers 4

Docker Volume Backup

# Volume sichern
docker run --rm   -v postgres_data:/data   -v $(pwd):/backup   alpine   tar czf /backup/postgres-backup.tar.gz -C /data .

# Volume restore
docker run --rm   -v postgres_data:/data   -v $(pwd):/backup   alpine   tar xzf /backup/postgres-backup.tar.gz -C /data

# Automatisch mit cron
# 0 3 * * * /opt/scripts/docker-backup.sh

Wichtige Regeln

  1. Backups testen — nicht lesen dürfen ist nutzlos
  2. Automatisch laufen lassen
  3. Offsite — mindestens eine Kopie woanders
  4. Versionieren — können Änderungen rückgängig machen

Unser Setup

# Unser Backup Stack:
# 1. Lokal: Restic auf NAS (täglich)
# 2. Cloud: Rclone zu Backblaze B2 (wöchentlich)
# 3. Git: Alle Configs in Git (auto)

# /opt/backup.sh
#!/bin/bash
set -e

export RESTIC_PASSWORD="xxx"
BACKUP_DIR="/mnt/nas/backup"

# Docker Volumes
docker run --rm   -v postgres_data:/data   -v $BACKUP_DIR:/backup   alpine tar czf $BACKUP_DIR/postgres-$(date +%Y%m%d).tar.gz -C /data .

# Configs
restic -r $BACKUP_DIR/configs backup /opt/configs

# Cleanup (alte backups)
restic forget --keep-daily 7 --keep-weekly 4 --prune

# Cloud Sync
rclone sync $BACKUP_DIR remote:homelab-backup --transfers 2
⚠️ Restore testen

Ein Backup ohne regelmäßigen Restore-Test ist wertlos. Teste mindestens monatlich, ob du aus deinen Backups wiederherstellen kannst. Am besten automatisiert per Cron.

Checkliste

  • [ ] Backup-Skript vorhanden?
  • [ ] Automatisch (cron)?
  • [ ] Test-Restore funktioniert?
  • [ ] Offsite-Kopie existiert?

Quellen

War dieser Artikel hilfreich?

Nächster Schritt: vom Wissen in die Umsetzung

Wenn du mehr willst als Theorie: Setups, Workflows und Vorlagen aus dem echten Betrieb für Teams, die lokale und dokumentierte AI-Systeme wollen.

Warum AI Engineering
  • Lokal und self-hosted gedacht
  • Dokumentiert und auditierbar
  • Aus eigener Runtime entwickelt
  • Made in Austria
Kein Ersatz für Rechtsberatung.