Backup & Restore¶
So sicherst du deine Daten und stellst sie im Notfall wieder her.
Die Datenbank¶
OpenLibry speichert alle Daten in einer einzigen SQLite-Datei:
Das macht Backups super einfach: Eine Datei kopieren – fertig!
Backup erstellen¶
Manuell¶
# Einfaches Backup
cp database/dev.db database/dev.db.backup
# Backup mit Datum
cp database/dev.db "database/backup_$(date +%Y%m%d_%H%M%S).db"
Automatisch (Cronjob)¶
Erstelle ein Backup-Script:
/home/user/backup-openlibry.sh
#!/bin/bash
OPENLIBRY_DIR="/pfad/zu/openlibry"
BACKUP_DIR="/pfad/zu/backups"
DATE=$(date +%Y%m%d)
# Backup erstellen
cp $OPENLIBRY_DIR/database/dev.db $BACKUP_DIR/openlibry_$DATE.db
# Alte Backups löschen (älter als 30 Tage)
find $BACKUP_DIR -name "openlibry_*.db" -mtime +30 -delete
echo "Backup erstellt: openlibry_$DATE.db"
Täglich um 3 Uhr ausführen:
chmod +x /home/user/backup-openlibry.sh
crontab -e
# Füge hinzu:
0 3 * * * /home/user/backup-openlibry.sh
Backup wiederherstellen¶
Aus Datei-Backup¶
# OpenLibry stoppen
pm2 stop openlibry # oder docker stop openlibry
# Backup zurückspielen
cp database/dev.db.backup database/dev.db
# OpenLibry starten
pm2 start openlibry # oder docker start openlibry
Aus Excel-Export¶
Falls du nur einen Excel-Export hast:
- Frische OpenLibry-Installation aufsetzen
- Excel-Import durchführen
Verlust möglich
Der Excel-Export enthält nicht alle Daten (z.B. keine Ausleihhistorie). Ein Datenbank-Backup ist vollständiger.
Backup-Strategie¶
Empfohlen¶
| Häufigkeit | Was | Wo |
|---|---|---|
| Täglich | Datenbank-Backup | Lokaler Server |
| Wöchentlich | Datenbank-Backup | Externer Speicher (USB, Cloud) |
| Monatlich | Excel-Export | Archiv |
3-2-1-Regel¶
- 3 Kopien deiner Daten
- 2 verschiedene Medien (z.B. Server + USB)
- 1 Kopie an einem anderen Ort
Externe Speicherorte¶
USB-Stick¶
# USB-Stick mounten (falls nicht automatisch)
sudo mount /dev/sdb1 /mnt/usb
# Backup kopieren
cp database/dev.db /mnt/usb/openlibry_backup.db
# USB-Stick sicher entfernen
sudo umount /mnt/usb
Cloud (z.B. mit rclone)¶
# rclone einrichten (einmalig)
rclone config
# Backup hochladen
rclone copy database/dev.db remote:openlibry-backups/
Netzlaufwerk¶
# NFS/SMB-Share mounten
sudo mount -t cifs //server/share /mnt/backup -o username=user
# Backup kopieren
cp database/dev.db /mnt/backup/openlibry_$(date +%Y%m%d).db
Docker-spezifisch¶
Bei Docker liegt die Datenbank im gemounteten Volume:
# Aus dem Host-System
cp ./database/dev.db ./database/dev.db.backup
# Oder aus dem Container
docker cp openlibry:/app/database/dev.db ./backup.db
Prüfen, ob Backup funktioniert¶
Wichtig!
Ein Backup, das nicht getestet wurde, ist kein Backup!
So testest du:
- Backup erstellen
- Temporäre Test-Installation aufsetzen
- Backup dort einspielen
- Prüfen, ob alles funktioniert
Notfall-Checkliste¶
Falls etwas schiefgegangen ist:
- ☐ Ruhe bewahren
- ☐ Aktuellen Zustand sichern (auch wenn kaputt)
- ☐ Letztes funktionierendes Backup finden
- ☐ Auf Test-System wiederherstellen und prüfen
- ☐ Wenn OK: Auf Produktion wiederherstellen
- ☐ Ursache analysieren
Nächste Schritte¶
- Excel Export – Zusätzliche Sicherung
- Updates – Vor Updates immer Backup machen!