Home Assistantant: Automatisch Backup in 2 Schritten erstellen

Wie ich bereits in einem vorherigen Beitrag geschrieben habe, ist es sehr wichtig regelmäßig Backups von der eigenen hass.io-Instanz zu erstellen (hass.io Snapshot/Home Assistant Backup). Wie bei eigentlich allen wichtigen Dingen im Leben, ist es im schlimmsten Fall der Fälle nahezu unbezahlbar ein aktuelles Backup zu haben. Sollte aus irgendeinem Grund das eigene Smarthome defekt sein und eine Reparatur nicht möglich sein, ist ein aktuelles Backup (Wikipedia: Backup/Datensicherung) die einzige Rettung. Wer jedoch kein Backup hat, wird nicht umher kommen, das gesamte System neu aufzusetzen.

Aus einem ganz aktuellen Erlebnis kann ich bestätigen, dass ein Backup einem unzählige Stunden ersparen kann, die anderenfalls – ohne Backup – notwendig wären, um das Smarthome wieder von Null auf hochzuziehen. Durch eine fehlerhafte Konfiguration und einen wirklich unbedachten Neustart des Raspberry Pi, hatte ich zuletzt mein hass.io unbrauchbar gemacht. Der Raspberry Pi bootet nicht mehr vollständig, so dass ich keinen Zugriff auf das Webinterface, meine Ordner-Freigaben oder SSH hatte.

Mein Raspberry Pi mit hass.io darauf installiert war von der einen Minute zur anderen unbrauchbar. Mein mühevoll und in unzähligen Stunden aufgesetztes Smarthome war somit alles andere als smart. Es war mir nicht möglich auf die zuvor angepasste Datei configuration.yaml zuzugreifen um den Fehler zu korrigieren, so dass mir relativ schnell klar wurde, dass es nur eine wirkliche Option gibt: ein Backup muss aufgespielt werden!

Natürlich bedeutet ein Backup grundsätzlich, dass alle seit Erstellung des Backups vorgenommenen Änderungen verloren gehen. Jedoch bedeutet dies, sofern Backups regelmäßig erstellt werden, in der Regel nur einen geringen Verlust. Insbesondere, wenn die Alternative ein kompletter Neuaufbau von hass.io mit allen integrierten Komponenten, Scripten und Automatisierungen ist!

Da ich von mir erstellte Backups regelmäßig automatisch per FTP auf ein Netzwerklaufwerk kopiere, hatte ich trotz des Totalausfalls meiner hass.io-Installation Zugriff auf eines dieser Backups. Das Backup konnte ich dann nutzen, um eine neue hass.io-Instanz aufzusetzen um dann das gewünschte Backup wiederherzustellen. Diese Aktion hat mich (inkl. der Einrichtung der neuen hass.io-Instanz) in Summe keine zwei Stunden gekostet, wobei ich hiervon die meiste Zeit eigentlich nichts tun sondern lediglich auf hass.io warten musste.

Du magst Home Assistant? Dann abonniere kostenlos meine Beiträge mit Tipps, Tricks und Anleitungen rund um Home Assistant:

Follow Home Assistant
( 540 Followers )
X

Follow Home Assistant

E-mail : *
* Ich stimme der Datenschutzerklärung zu!

Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders überlegen!

hass.io Snapshot-Backup aufspielen

Dieses vermeintliche Horror-Szenario, mit letztendlich gutem Ausgang und relativ wenig verloren gegangenen Einstellungen/Anpassungen hat mich jedoch veranlasst meine Backup-Prozesse zu hinterfragen. Bislang habe ich manuell Snapshots erstellt und diese automatisch alle paar Tage per FTP von der SD-Karte des Raspberry Pi auf ein lokales Laufwerk kopiert. Ich habe versucht nach jeder größeren Anpassung daran zu denken ein manuelles Backup zu erstellen. Natürlich habe ich dies aber auch immer wieder mal vergessen.

Solange das System (wie in meinem Fall) nicht abraucht, stellt ein fehlendes aktuelles Backup kein Problem dar. Jedoch verdeutlichte mir mein Backup-Erfahrung, dass ich mich bei den Backups meiner hass.io-Installation zukünftig weniger auf meine eigene Disziplin verlassen will! 🙂

Genauso, wie die Snapshots automatisch per FTP auf das lokale Laufwerk gesichert werden, sollen zukünftig auch die Snapshots selbst in regelmäßigen Abständen automatisch erstellt werden, so dass ich immer ein aktuelles Backup habe.

Home Assistant Backup

Zum Glück bietet hass.io hierfür eine Funktion, die das automatische Erstellen von Backups ermöglicht und sehr einfach macht. Warum diese Funktion nicht prominent kommuniziert wird verstehe ich leider nicht – aber deswegen erzähle ich hier davon:

An Board bietet hass.io den Service hassio.backup_full mit dem ein kompletter Snapshot erstell wird. Kombiniert man diesen Service mit einer Mini-Automation, erstellt einem hass.io automatisch in den gewünschten Abständen Backups/Snapshots. Hier meine Beispiel-Automation, mit der ich neuerdings jeden Donnerstag und Sonntag um 03:00 ein komplettes Backup erstelle:

- alias: '[System] - Make Hassio backup'
  trigger:
    - platform: time
      at: '03:00:00'
  condition:
    - condition: time
      weekday:
        - sun
        - thu
  action:
    - service: hassio.backup_full
      data_template:
        name: "DailyBackup: {{ now().strftime('%Y-%m-%d') }} Version {{ states('sensor.current_version') }}"

Dieses Backup ist identisch mit den manuell erstellten Backups also somit eine ideal Grundlage für das eigene Backup-Konzept. Die so regelmäßig und automatisch erstellen Backups werden jeden Donnerstag und Sonntag um 04:00 Uhr per FTP auf ein lokales Laufwerk gesichert, so dass ich auch ohne hass.io in (funktionalem) Betrieb auf die Backups zugreifen kann.

Solltest du den Backup-Service von hass.io zuvor auch noch nicht gekannt haben, empfehle ich dir, sofort eine vergleichbare Backup-Automation aufzusetzen, um im schlimmsten Fall der Fälle kein Fiasko zu erleben!

Dieser Beitrag ist Teil einer kleinen Beitrags-Serie rund um den hass.io Home Assistant.

Foto des Autors
Autor
Olli
Ca. Anfang 40, seit Windows 3.1 Fan von Computern, Gadgets, Handys und allem, was sich irgendwie programmieren lässt. Ich mag es gerne individuell und möglichst einfach, probiere aber auch gerne neue Dinge sofort aus. :) Konnte ich dir helfen? Dann würde ich mich über ein Bier freuen ;) Bier-Spende

7 Gedanken zu „Home Assistantant: Automatisch Backup in 2 Schritten erstellen“

  1. Du schreibest „…komplettes Backup erstelle ..“

    Und „Snapshot“.
    Ist damit eine Art „Abbild“ der Festplatte gemeint?
    Eher nicht, oder?

    Aber was ist letztlich alles drin in dem „kompletten Backup“?
    Alle Devices?
    Und auch Konfiguration und Daten einer Influx-DB und Grafana-Einstellungen?

    • Früher hießen Backups in Home Assistant „Snapshots“. Aus dieser zeit stammt der Beitrag. Ich habe gerade den Beitrag aber dahingehend angepasst, dass es auch heute „korrekt“ ist. 😉

      Ein komplettes Backup beinhaltet alles, was du an individuellen Anpassungen vorgenommen hast. Mit einem solchen kompletten Backup kannst du auf einem komplett neuen Gerät eine 1:1 Kopie durch Einspielen dieses Backups erstellen.

      Ich habe keine Erfahrungen diesbezüglich mit Influx-DB und Grafana, unterstelle aber, dass dies ebenfalls in einem kompletten Backup enthalten sein wird!

  2. Vielen Dank, das Datum klappt. Jetzt habe ich weiter herumgebastelt und den abgesicherten Modus entdecken müssen 🙁 . Wie geht das mit der Version wirklich? Wenn ich in der configuration.yaml den Wert „sensor: – platform: version“ eintrage, kommt eine Fehlermeldung, das „sensor“ bereits benutzt wurde. Trage ich es in den entsprechenden Abschnitt mit ein, klappen die Sensoren für den Raspberry nicht mehr. Woher bekomme ich die Versionsinformationen?
    Quelle: https://www.home-assistant.io/integrations/version/

  3. Hallo, auch hier muss ich etwas fragen: Ich nehme an, das der Befehl „data_template:“ dazu dienen soll, der Datei einen vernünftigen Namen zu geben. In der Zeile „name: Backup {{ now().strftime(‚%Y-%m-%d‘) }“ stimmen die geschweiften Klammern nicht (2 auf, aber nur einmal zu). Lasse ich eine Klammer weg, kann ich diesen Teil zumindest ohne Fehler abspeichern. Allerdings ändert sich mein Dateiname nicht.

    • Hi Sven, auch hier hast du recht! 🙂 Ich habe den Code-Schnipsel soeben korrigiert und aktualisiert, da ich mittlerweile auch die aktuelle Version von Home Assistant im Dateinamen mit angebe.

  4. Man lernt schmerzlich beim ersten Mal wie wichtig ein Backup ist. 😁
    Ich habe für mich zusätzlich noch was zusätzliches gefunden.

    https://github.com/jcwillox/hass-auto-backup
    Damit ist es auch möglich die Backups nach einer gewissen Zeit auch wieder löschen zu lassen.

Die Kommentare sind geschlossen.