LW IT Solutions
« Blog-Übersicht /IT & Networks / Raspberry-Pi-Backups auf ein UniFi-NAS automatisieren
Diesen Artikel in anderen Sprachen lesen:

Raspberry-Pi-Backups auf ein UniFi-NAS automatisieren

Raspberry-Pi-Backups auf ein UniFi-NAS automatisieren
Inhalt
  1. Schritt 1: Vorbereitung des UNAS Pro
  2. Schritt 2: Einbinden des UNAS Pro auf dem Raspberry Pi
  3. Schritt 3: Sicherung der MySQL-Anmeldedaten
  4. Schritt 4: Backup-Skript erstellen
  5. Schritt 5: Automatisierung mit Cron
  6. Fragen und Antworten
  7. Quellen

Der Betrieb von Diensten, Hausautomation oder Webanwendungen auf einem Raspberry Pi stößt oft auf ein Problem: die microSD-Karte. Diese ist anfällig für Datenkorruption durch intensive Lese- und Schreibzyklen. Um eine resiliente Architektur zu schaffen, sollten Daten nicht ausschließlich auf dem Pi verbleiben, sondern auf eine redundante Speicherlösung ausgelagert werden. Diese Anleitung führt durch die Einrichtung einer vollautomatisierten täglichen Sicherung eines Raspberry Pi direkt auf ein Ubiquiti UNAS Pro, einschließlich Datenbank-Dumps und Dateikomprimierung.

Schritt 1: Vorbereitung des UNAS Pro

  1. Im UniFi OS-Konsole die Storage/NAS-Anwendung öffnen.
  2. Einen neuen freigegebenen Ordner (z. B. Pi_Backups) erstellen.
  3. Einen dedizierten lokalen Benutzer (z. B. backup_user) mit einem sicheren Passwort anlegen.
  4. Dem Benutzer Lese-/Schreibberechtigungen für den Ordner Pi_Backups zuweisen.
  5. Sicherstellen, dass SMB für diesen Share aktiviert ist.

Schritt 2: Einbinden des UNAS Pro auf dem Raspberry Pi

Die Einbindung erfolgt via cifs-utils, damit der NAS-Share als lokales Laufwerk erscheint.

Links der Raspberry Pi: cron um 2:00 Uhr, Zugangsdateien ~/.my.cnf und /etc/.unas_creds sowie pi_backup.sh in fünf Schritten von der Mount-Prüfung über mysqldump und tar bis zum Löschen von Ordnern älter als 14 Tage. In der Mitte die cifs-Einbindung per /etc/fstab, rechts die Freigabe Pi_Backups auf dem UNAS Pro.
Der Weg des nächtlichen Backups vom Raspberry Pi über die cifs-Einbindung in Datumsordner auf der Freigabe des UNAS Pro.
  1. SSH-Zugriff auf den Raspberry Pi herstellen.
  2. Nötige Utilities installieren: sudo apt update und sudo apt install cifs-utils.
  3. Lokalen Mount-Punkt erstellen: sudo mkdir -p /mnt/unas_backup.
  4. Eine versteckte Anmeldedatei unter /etc/.unas_creds mit Benutzername, Passwort und Domain erstellen. Datei schützen: sudo chmod 600 /etc/.unas_creds.
  5. Die /etc/fstab editieren und folgende Zeile ergänzen: //192.168.1.XXX/Pi_Backups /mnt/unas_backup cifs credentials=/etc/.unas_creds,uid=1000,gid=1000,iocharset=utf8 0 0.
  6. Mounten testen: sudo mount -a.

Schritt 3: Sicherung der MySQL-Anmeldedaten

Um automatisierte Dumps ohne Passwortabfrage zu ermöglichen:

  1. Eine MySQL-Konfigurationsdatei erstellen: nano ~/.my.cnf.
  2. Datenbankdaten einfügen ([client], user=..., password=...).
  3. Datei schützen: chmod 600 ~/.my.cnf.

Schritt 4: Backup-Skript erstellen

Ein Bash-Skript übernimmt den Export der Datenbanken, die Komprimierung von Ordnern und das Aufräumen alter Backups.

  1. Datei ~/pi_backup.sh erstellen und den entsprechenden Code einfügen.
  2. Ausführbarkeit gewähren: chmod +x ~/pi_backup.sh.
#!/bin/bash
BACKUP_DATE=$(date +"%Y-%m-%d")
NAS_MOUNT="/mnt/unas_backup"
DEST_DIR="$NAS_MOUNT/$BACKUP_DATE"
TARGET_FOLDERS="/var/www/html /etc/nginx /home/pi/docker-data"

if ! mountpoint -q $NAS_MOUNT; then exit 1; fi
mkdir -p "$DEST_DIR"
mysqldump --all-databases | gzip > "$DEST_DIR/db_backup_$BACKUP_DATE.sql.gz"
tar -czf "$DEST_DIR/files_backup_$BACKUP_DATE.tar.gz" $TARGET_FOLDERS
find "$NAS_MOUNT" -mindepth 1 -maxdepth 1 -type d -mtime +14 -exec rm -rf {} \;

Schritt 5: Automatisierung mit Cron

Zeitplan für die tägliche Ausführung um 2:00 Uhr morgens festlegen.

  1. Crontab öffnen: crontab -e.
  2. Zeile einfügen: 0 2 * * * $HOME/pi_backup.sh > $HOME/backup_log.txt 2>&1.

Das Ergebnis ist ein automatisierter Disaster-Recovery-Plan, der nächtlich Datenbanken exportiert, Konfigurationsdateien komprimiert und auf das UNAS Pro überträgt, wobei Archive älter als zwei Wochen automatisch gelöscht werden.

Fragen und Antworten

Was passiert beim Systemstart, wenn das NAS noch nicht erreichbar ist, etwa weil der Pi nach einem Stromausfall schneller hochfährt?

Ohne weitere Angaben bleibt der Start an der Einbindung hängen, bis eine Zeitüberschreitung greift, je nach Konfiguration eine lange Wartezeit, in der auch davon abhängige Dienste warten.

Zwei Optionen in der fstab lösen das: _netdev stellt die Einbindung hinter die Netzwerkbereitschaft, und nofail verhindert, dass ein Fehlschlag den Start blockiert. Der Pi kommt damit hoch, auch wenn das NAS noch aus ist.

Der zweite Teil steht schon im Skript und wird durch genau diesen Fall wertvoll: die Prüfung mit mountpoint -q vor dem Sichern. Ohne sie schreibt ein Lauf bei nicht eingebundenem Ziel in das leere lokale Verzeichnis, also auf die Karte, die das Backup schützen soll, im ungünstigen Fall, bis sie voll ist. Mit ihr bricht der Lauf ab, bevor etwas geschrieben wird. Von selbst holt das System eine beim Start gescheiterte Einbindung allerdings nicht nach: Bis die Freigabe eingebunden ist, etwa per sudo mount -a oder durch einen Neustart, enden auch die folgenden Läufe an dieser Prüfung.

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Get in Touch

Briefly describe your project or inquiry for a tailored response. This site is protected by reCAPTCHA.

Kommentar schreiben

Erfahrungen mit anderer Hardware oder Firmware und Rückfragen zur Konfiguration sind hier willkommen.

Die E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit einem Stern versehen.

Artikel & Kategorien

CCTV

Diese Rubrik per RSS verfolgen

Cloud & AI

Alle 11 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

Data Privacy

Alle 18 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

Digital Analytics

Alle 58 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

Digital Marketing

Alle 37 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

IT & Networks

Alle 17 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

Music Production

Alle 16 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

Raspberry Pi

Diese Rubrik per RSS verfolgen

SaaS & Internet Earning

Artikel in Vorbereitung

Smart Home

Alle 18 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

Web Entwicklung

Alle 11 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

WordPress-Plugins & Tricks

Alle 13 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen