DE ·

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.sh

Das 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:

  1. Stelle die Verbindung zu deinem S3-Bucket her.
  2. Mounte das Borg-Repository: borg mount s3:bucket-name:borg-repo::Backup-Datum /mnt/borg
  3. Kopiere die Daten zurück: rsync -a /mnt/borg/ /var/www/nextcloud/
  4. 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.