Automatische Nextcloud-Backup-Strategie auf VPS mit Verschlüsselung und Offsite-Speicherung

Lerne, wie du deine Nextcloud-Daten auf einem VPS automatisch sicherst, verschlüsselst und an einen externen Speicherort überträgst – Schritt für Schritt erklärt.

Warum eine automatisierte Backup-Strategie für Nextcloud?

Nextcloud ist eine leistungsstarke Plattform für Dateisynchronisation und -freigabe. Doch ohne regelmäßige Backups riskierst du Datenverlust durch Hardwarefehler, versehentliches Löschen oder Cyberangriffe. Eine automatisierte Backup-Strategie mit Verschlüsselung und Offsite-Speicherung stellt sicher, dass deine Daten jederzeit wiederherstellbar sind – selbst wenn dein VPS ausfällt.

Voraussetzungen

  • Ein laufender VPS mit Nextcloud-Installation (z.B. über unsere VPS-Server)
  • SSH-Zugriff mit Root-Rechten
  • Ein externer Speicherort (z.B. S3-kompatibler Speicher, ein anderer Server oder ein Cloud-Dienst)
  • Grundkenntnisse in der Kommandozeile

Schritt 1: Backup-Skript erstellen

Erstelle ein Skript, das die Nextcloud-Datenbank und Dateien sichert. Verbinde dich per SSH mit deinem VPS und lege eine Datei /usr/local/bin/nextcloud-backup.sh an:

#!/bin/bash
# Variablen
BACKUP_DIR="/var/backups/nextcloud"
NEXTCLOUD_DIR="/var/www/nextcloud"
DB_NAME="nextcloud"
DB_USER="nextcloud_user"
DB_PASS="dein_passwort"
DATE=$(date +%Y-%m-%d_%H-%M-%S)

# Verzeichnis erstellen
mkdir -p $BACKUP_DIR/$DATE

# Datenbank sichern
mysqldump --single-transaction -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/$DATE/db.sql

# Dateien sichern (exklusive Cache)
rsync -av --exclude='data/*/files_trashbin' --exclude='data/*/cache' $NEXTCLOUD_DIR/data $BACKUP_DIR/$DATE/

# Nextcloud-Konfiguration sichern
cp $NEXTCLOUD_DIR/config/config.php $BACKUP_DIR/$DATE/

Vergiss nicht, die Datei ausführbar zu machen: chmod +x /usr/local/bin/nextcloud-backup.sh.

Schritt 2: Verschlüsselung der Backups

Nutze GPG, um die Backups zu verschlüsseln. Erstelle einen GPG-Key (falls nicht vorhanden) und passe das Skript an:

# Verschlüsselung mit GPG
GPG_RECIPIENT="deine-email@example.com"
gpg --encrypt --recipient $GPG_RECIPIENT $BACKUP_DIR/$DATE/db.sql
gpg --encrypt --recipient $GPG_RECIPIENT $BACKUP_DIR/$DATE/config.php
# Für Dateien: Archive erstellen und verschlüsseln
tar czf $BACKUP_DIR/$DATE/data.tar.gz -C $NEXTCLOUD_DIR data
gpg --encrypt --recipient $GPG_RECIPIENT $BACKUP_DIR/$DATE/data.tar.gz

Lösche nach der Verschlüsselung die unverschlüsselten Dateien.

Schritt 3: Offsite-Speicherung einrichten

Installiere rclone für den Transfer zu einem externen Speicher (z.B. S3, Google Drive, SFTP). Konfiguriere rclone:

rclone config
# Wähle den Speichertyp und folge den Anweisungen

Ergänze das Backup-Skript um den Upload:

# Upload zu Offsite-Speicher
rclone copy $BACKUP_DIR/$DATE remote:nextcloud-backups/

Ersetze remote: durch den Namen deines rclone-Remotes.

Schritt 4: Automatisierung mit Cron

Richte einen Cron-Job ein, der das Skript täglich ausführt. Öffne die Crontab mit crontab -e und füge hinzu:

0 2 * * * /usr/local/bin/nextcloud-backup.sh

Das Backup läuft dann täglich um 2 Uhr nachts.

Schritt 5: Wiederherstellung testen

Ein Backup ist nur so gut wie seine Wiederherstellbarkeit. Erstelle ein separates Skript zur Wiederherstellung und führe es in einer Testumgebung aus. So stellst du sicher, dass im Ernstfall alles funktioniert.

Zusätzliche Tipps

  • Überwache die Backups mit einem Monitoring-Tool oder benachrichtige dich per E-Mail bei Fehlern.
  • Bewahre mehrere Backup-Versionen auf (z.B. täglich, wöchentlich, monatlich).
  • Nutze einen dedizierten Backup-VPS oder Virtual Server für die Offsite-Speicherung.

Mit dieser Strategie stellst du sicher, dass deine Nextcloud-Daten sicher, verschlüsselt und jederzeit wiederherstellbar sind. Falls du noch keinen VPS hast, schau dir unsere Webhosting-Pakete an – ideal für Nextcloud und andere Anwendungen.