Automatisierte Nextcloud-Backups auf dem VPS mit BorgBackup und AWS S3
Erfahre, wie du deine Nextcloud-Instanz auf dem VPS mit BorgBackup und AWS S3 automatisiert sicherst. Schritt-für-Schritt-Anleitung für Disaster Recovery.
Warum automatisierte Backups für Nextcloud unverzichtbar sind
Deine Nextcloud-Instanz speichert wertvolle Daten – von Dokumenten über Fotos bis hin zu Kalendern. Ein Ausfall oder Datenverlust kann katastrophale Folgen haben. Mit einem automatisierten Backup-System auf deinem VPS stellst du sicher, dass deine Daten jederzeit wiederherstellbar sind. In diesem Artikel zeigen wir dir, wie du BorgBackup in Kombination mit AWS S3 für ein zuverlässiges Disaster Recovery einsetzt.
BorgBackup: Effizient und sicher
BorgBackup ist ein leistungsstarkes Tool für deduplizierende Backups. Es komprimiert und verschlüsselt deine Daten, sodass du nur minimale Speicherkapazität benötigst. Die Deduplizierung erkennt identische Datenblöcke und speichert sie nur einmal – ideal für regelmäßige Backups deiner Nextcloud-Datenbank und Dateien.
Installation von BorgBackup
Logge dich per SSH in deinen VPS ein und installiere BorgBackup:
- Ubuntu/Debian:
sudo apt update && sudo apt install borgbackup - CentOS/RHEL:
sudo yum install epel-release && sudo yum install borgbackup
AWS S3 als externes Backup-Ziel
Für Disaster Recovery ist es wichtig, Backups außerhalb deines Servers zu speichern. AWS S3 bietet eine kostengünstige und skalierbare Speicherlösung. Du benötigst einen S3-Bucket und einen IAM-Benutzer mit Zugriffsrechten. Notiere dir den Bucket-Namen, die Access Key ID und den Secret Access Key.
Backup-Skript erstellen
Erstelle ein Skript, das BorgBackup mit S3 verbindet. Hier ein Beispiel für ein Bash-Skript (/usr/local/bin/nextcloud-backup.sh):
#!/bin/bash
# Variablen
BORG_REPO='s3:bucket-name:borg-repo'
BORG_PASSPHRASE='dein-passwort'
NEXTCLOUD_DIR='/var/www/nextcloud'
DB_NAME='nextcloud'
DB_USER='nextcloud'
DB_PASS='dein-db-passwort'
# Datenbank sichern
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $NEXTCLOUD_DIR/nextcloud-sqlbkp.sql
# Borg-Backup ausführen
borg create --stats --progress $BORG_REPO::'{now:%Y-%m-%d_%H:%M:%S}' $NEXTCLOUD_DIR
# Alte Backups löschen (z.B. älter als 30 Tage)
borg prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6 $BORG_REPO
Vergiss nicht, das Skript ausführbar zu machen: chmod +x /usr/local/bin/nextcloud-backup.sh
Automatisierung mit Cron
Richte einen Cron-Job ein, der das Skript täglich ausführt. Öffne die Crontab mit crontab -e und füge folgende Zeile hinzu:
0 3 * * * /usr/local/bin/nextcloud-backup.shDas Backup läuft nun jeden Morgen um 3 Uhr.
Wiederherstellung im Disaster-Fall
Falls es zu einem Datenverlust kommt, kannst du das Backup so wiederherstellen:
- Stelle die Verbindung zu deinem S3-Bucket her.
- Mounte das Borg-Repository:
borg mount s3:bucket-name:borg-repo::Backup-Datum /mnt/borg - Kopiere die Daten zurück:
rsync -a /mnt/borg/ /var/www/nextcloud/ - Stelle die Datenbank wieder her:
mysql -u nextcloud -p nextcloud < nextcloud-sqlbkp.sql
Teste den Wiederherstellungsprozess regelmäßig, um sicherzustellen, dass alles funktioniert.
Fazit
Mit BorgBackup und AWS S3 hast du eine robuste Backup-Strategie für deine Nextcloud-Instanz auf dem VPS. Wenn du noch keinen VPS hast, schau dir unsere VPS Server an – ideal für Nextcloud und andere Anwendungen. Für weitere Hilfe stehen wir dir jederzeit zur Verfügung.