Backups sind Gold wert. Umso besser, wenn das eigene System diese zyklisch selbst erzeugt und auf einen sicheren Datenspeicher ablegt. In diesem kleinen Projekt möchte ich euch zeigen, wie ihr ein automatisiertes Backup auf eurer Netzwerkfestplatte (bspw. Synology oder QNAP) erstellt.

Sofern Ihr das Projekt nachbauen wollt, benötigt ihr folgende Tools bzw. Hardware:

  • Netzwerkfestplatte mit einem eigens eingerichteten Benutzer für die Homematic Backups
  • SSH Zugang zu eurer Zentrale bspw. über PUTTY (Windows) oder Terminal (MacOS)
  • CuxD (mit angelegtem EXEC-Gerät)

Vorbereitung NAS

Zunächst solltet ihr auf eurer Netzwerkfestplatte einen neuen Benutzer einrichten. Ich habe dieses auf meiner Synology entsprechend vorbereitet. Viele Zugriffsrechte benötigt dieser Nutzer nicht, lediglich in sein eigenes Home-Verzeichnis muss geschrieben werden können.

Bei einer Synology richtet ihr dieses bspw. über den Punkt Systemsteuerung und dann Benutzer ein. Erstellt einen Benutzer wie auf nachfolgenden Screenshot:

Vorbereitungen CCU

Auf eurer Zentrale solltet ihr zunächst den SSH Zugang aktivieren. Dieses könnt ihr unter Einstellungen -> Systemsteuerung -> Sicherheit einrichten. Wählt dabei ein beliebiges Passwort. Dieses hat nichts mit eurem Admin Kennwort zu tun, sondern ist ausschließlich für den SSH-Zugang gedacht.

Nachfolgend werden wir nun eine eigene Bash-Datei anlegen, die für das Erzeugen eines Backups verantwortlich ist. Dieses werden wir direkt auf der CCU durchführen.

Loggt euch dafür nun auf eurer Zentrale via SSH ein und wechselt in das Verzeichnis Addons. Dieses könnt ihr über den folgenden Befehl tun:

Legt nun eine neue Datei „backup.sh“ an. Dieses könnt ihr mit Hilfe des folgenden Kommandos umsetzen:

Zum Öffnen und Bearbeiten dieser Datei verwenden wir den Editor „VIM„. Er ist zugegebenermaßen sehr gewöhnungsbedürftig, dafür bearbeitet ihr die Datei direkt auf eurer CCU und es besteht keine Gefahr, dass Steuerzeichen aus irgendwelchen Textbearbeitungsprogrammen eures PCs die Ausführung unseres geplanten Backup-Programms verhindern.

Verwendet dafür den Befehl:

Es öffnet sich nun der Editor, in welchem wir zunächst einmal in den „Bearbeitungsmodus“ wechseln müssen. Dieses könnt ihr über die Taste „i“ (Insert mode) erreichen. Ihr könnt jetzt die Datei entsprechend mit Inhalt füllen:

Kurz zum Verständnis:

  1. Die erste Zeile mountet euer Netzwerklaufwerk lokal auf der CCU. Die CCU hat damit also Zugriff auf das Verzeichnis „home/homematic“ auf eurer NAS. Verändert die IP-Adresse entsprechend eures NAS und wählt den Usernamen sowie das Passwort, welches ihr im Punkt Vorbereitung NAS eingerichtet habt.
  2. Die zweite Zeile startet das Tool ccu_backup aus dem Addon-Paket CuxD. Das Backup landet dabei im Verzeichnis /var/tmp
  3. Die dritte Zeile kopiert das erzeugte Backup aus /var/tmp in das zuvor in Zeile 1 gemountete Verzeichnis
  4. Die vierte Zeile löscht alle Backup aus dem Verzeichnis /var/tmp
  5. Die fünfte Zeile ist ein „Luxus“. Hierbei wird im gemounteten Verzeichnis eurer NAS nach Backups gesucht, die älter als sieben Tage sind. Diese werden dann entspechend gelöscht. Ihr habt damit immer die letzten sieben Tage als Backup zur Verfügung.
  6. Die sechste Zeile unmounted das Netzwerklaufwerk wieder.

Drückt nun im VIM einmal die Esc-Taste, um den Bearbeitungsmodus zu beenden. Tippt jetzt einfach Folgendes ein (inklusive des Doppelpunktes):

Hiermit werden die Änderungen in die geöffnete Datei gespeichert und VIM beendet.

Als nächstes müssen wir die Datei ausführbar machen. Dieses könnt ihr über das folgende Kommando lösen:

Prüft einmal die Ausführung der erzeugten Datei, indem ihr diese über folgendes Kommando (immer noch im gleichen Verzeichnis) ausführt:

Es sollte folgendes in der Konsole erscheinen:

Ihr solltet nun auf eurer Netzwerkfestplatte im Home-Verzeichnis eures angelegten Benutzers die entsprechende Backup-Datei finden.

Zyklisches speichern

Damit eure CCU nun täglich automatisch das Anlegen eines aktuellen Backups ausführt, benötigen wir ein Zentralenprogramm auf der CCU. Dieses wird zu einem bestimmten Zeitpunkt ausgelöst und besitzt als Aktivität ein Skript mit folgendem Inhalt:

So wird nun jeden Tag um 23:00 Uhr ein aktuelles Backup eures Systems erzeugt und auf eurer Netzwerkfestplatte abgelegt.

Ich wünsche euch viel Spaß beim Nachbauen!

3 Kommentare
  1. Avatar
    Stefan sagte:

    Wie immer, vielen Dank für die sehr gute Anleitung. Was mir allerdings aufgefallen ist, warum sind die Backup Files so groß? Die manuellen sbk-Files hatten immer so um die 60MB jetzt liegen die bei 180MB.

    Antworten
  2. Avatar
    Fred sagte:

    Einfache und völlig ausreichende Lösung für ein tägliches Backup! Ich arbeite nicht mit iobroker o.ä., habe aber eine Synology als Backuplösung für andere Anwendungen im Einsatz. Funktioniert super! Mehr braucht man nicht. Vielen Dank!

    Antworten
  3. Avatar
    Erik sagte:

    Docker und iobroker der für die ccu3 einiges an Mehrwert bildet, neides läift auf ser synologyß
    Im addon backupit gibt es einen menuepunkt ccu sicherung, alles über eine gui….

    Antworten

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar zu Stefan Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.