Beta: Das Plugin ist neu und erst auf wenigen Systemen erprobt. Starte mit einem Trockenlauf und prüfe nach den ersten Läufen Protokoll und Ziel. Fehler, Fragen und Wünsche bitte als Issue melden.
Ein Unraid-Plugin, das Shares auf ein oder mehrere NAS sichert – mit grafischer Oberfläche, Fortschrittsanzeige und Verlauf.
- Mehrere Ziele: Jeder Share kann auf eine andere NAS gesichert werden.
- Übertragung wählbar je NAS: SMB (Netzlaufwerk), rsync-Dienst der NAS (rsync-Daemon) oder rsync über SSH.
- Aufwecken und Ausschalten: Die NAS wird per Wake-on-LAN geweckt und nach dem Lauf wieder heruntergefahren.
- Snapshots vor und nach jedem Lauf. Unraid kann sie auslösen, aber nicht löschen.
- Pro Share einstellbar: Ziel, Unterordner, Ausschlüsse, „nur bestimmte Ordner“, „nur Dateiliste“, voller Abgleich täglich, wöchentlich oder monatlich.
- Datenbanken im laufenden Betrieb: MariaDB/MySQL, PostgreSQL und Vaultwarden. Neue Datenbanken werden erkannt und markiert.
- Schutzfunktionen: Löschbremse gegen Massenlöschungen, Schutz vor leeren Quellen, Wächter bei ausbleibenden Backups.
- Wiederherstellung einzelner Ordner, auch aus Snapshots.
| System | Kopieren (SMB/rsync) | Snapshots | Herunterfahren | Anleitung im Plugin |
|---|---|---|---|---|
| Synology (DSM 7) | ja | ja (Btrfs) | ja | ja |
| Manuell (jedes NAS mit SMB) | ja | über eigene Befehle | über eigene Befehle | allgemein |
| QNAP, TrueNAS, OpenMediaVault, Unraid als Ziel, … | über „Manuell“ | über „Manuell“ | über „Manuell“ | noch nicht umgesetzt |
Für weitere Systeme gibt es noch keine eigene Anbindung. Beiträge sind herzlich willkommen. Wer ein solches System nutzt, kann es ergänzen (siehe Beitragen).
| Art | Vorteile | Hinweise |
|---|---|---|
| SMB | funktioniert mit fast jeder NAS | Abgleich bei sehr vielen Dateien langsamer; bei Synology muss eine SMB-Option für Zeitstempel aktiv sein |
| rsync-Dienst | schneller Abgleich, eingeschränkter Benutzer möglich | überträgt im Heimnetz unverschlüsselt; bei Synology noch nicht auf echter Hardware getestet |
| rsync über SSH | schneller Abgleich, verschlüsselt | braucht einen SSH-Benutzer mit Schreibrecht; bei Synology nur als Admin möglich, deshalb dort nicht empfohlen |
Datenbank-Dumps entstehen bei rsync kurz in einem Zwischenordner auf Unraid (Standard: Protokoll-Ordner/staging) und werden dann übertragen. Der Zwischenordner wird automatisch von der Sicherung ausgenommen.
In Unraid unter Plugins → Install Plugin diese Adresse einfügen. Es ist GitHubs offizielle Adresse für den reinen Dateiinhalt, denn Unraid lädt genau diese eine Plugin-Datei:
https://raw.githubusercontent.com/MadisonMedia/cloudless-unraidbackup/main/unraidbackup.plg
Danach öffnen: Settings → User Utilities → Unraid Backup. Im Reiter „NAS einrichten“ gibt es eine Schritt-für-Schritt-Anleitung für jede NAS.
Unraid prüft die Adresse oben auf neue Versionen (Plugins → Check for Updates). Einstellungen, Schlüssel und Passwörter bleiben dabei erhalten. Sie liegen auf dem USB-Stick unter /boot/config/plugins/unraidbackup/ und sind nicht Teil dieses Repositorys.
- Unraid 6.12 oder neuer
- Ein Ziel mit SMB-Freigabe, rsync-Dienst oder SSH-Zugang
- Für Synology: DSM 7 mit Btrfs-Volume sowie SMB, SSH, Benutzer-Home-Dienst und Wake-on-LAN (siehe Anleitung im Plugin)
- Der SSH-Schlüssel des Plugins wird auf der NAS auf ein Steuerskript beschränkt. Bei Synology erlaubt es nur
status,version,snapshot <share>,list <share>undshutdown, also kein Löschen. - Dateien werden über einen eingeschränkten SMB-Benutzer ohne Admin-Rechte kopiert.
- SMB-Passwörter liegen auf dem USB-Stick (
secrets.json). Gib die Freigabeflashnicht öffentlich frei.
- Der Modus „nur neue Dateien“ (voller Abgleich wöchentlich/monatlich) ist experimentell.
synosharesnapshotist kein offiziell dokumentierter DSM-Befehl und könnte sich mit einem DSM-Update ändern. Das Plugin meldet dann fehlgeschlagene Snapshots.
Die Quelldateien liegen in src/, und python3 build.py baut daraus die installierbare unraidbackup.plg, in der alle Dateien enthalten sind.
Ein neues NAS-System ergänzen:
- In
src/include/lib.phpden Typ innb_nas_types()eintragen und die Treiberfunktionennb_drv_*erweitern: Status, Snapshot, Liste, Herunterfahren und Snapshot-Ordner. - In
src/UnraidBackup.pageeine Anleitung als eigenen Abschnitt im Reiter „NAS einrichten“ ergänzen und den Namen ausPLANNEDentfernen. - Möglichst ein eingeschränktes Steuerskript wie bei Synology vorsehen, damit Unraid auf der NAS nichts löschen kann.
Für ein Update erhöhst du die Version in build.py und src/include/lib.php, baust neu, committest und pushst.
MIT, siehe LICENSE.