Ganz einfach Home Assitant Backups automatisch erstellen und löschen: in diesem kurzen Beitrag erkläre ich dir, wie auch du ganz einfach automatische Backups erstellst und somit keine Sorge mehr vor einem Smarthome-Crash haben musst. In einem anderen Beitrag habe ich vor über einem Jahr bereits beschrieben, wie man mit Home Assistant Bordmitteln Backups automatisch erstellen kann.
Jedoch gibt es bislang keine Möglichkeit diese automatisch angelegten Backups (Wikipedia: Datensicherung/Backup) auch regelmäßig wieder automatisch zu löschen. Sofern man also nicht händisch immer wieder ältere Backups löscht, wir auf kurz oder lang die SD-Karte irgendwann ziemlich voll sein! Und um ehrlich zu sein, habe ich bis vor wenigen Wochen tatsächlich alle 1-2 Wochen manuell ältere Backups gelöscht, damit dies nicht passiert!
Home Assistant Backups automatisch erstellen und löschen
Getreu dem Motto „No backup – no mercy!“ (also sinngemäß: Wenn du kein Backup hast, kriegst du kein Mitleid, wenn etwas schief geht und alle Daten weg sind!) kann man nicht oft genug wiederholen, wie wichtig regelmäßige Backups für jedes System sind!
Ich kann es nicht oft genug wiederholen – aber ein Smarthome zu betreiben, ohne regelmäßig Backups zu erstellen, ist so ziemlich das dümmste, das man machen kann! Wie smart ist dein Smarthome noch, wenn die Steuerzentrale (in diesem Fall natürlich Home Assistant) einen Datencrash erlebt hat und nichts mehr geht?
Ohne funktionierendes Smarthome keine automatischen Rollläden. Kein sich automatisch einschaltendes Licht, wenn bei Dunkelheit eine Bewegung erkannt wurde. Keine Sicherheitskameras, die sich automatisch einschalten, wenn es draußen wird oder alle das Haus verlassen. Die Liste der Beispiele und Probleme könnte ich noch endlos weiterführen – worauf ich hinaus will dürfte mittlerweile klar sein! 🙂 Auch du brauchst automatische Backups, die regelmäßig erstellt werden, um den Datencrash vorzubeugen!
Home Assistant: Auto Backup von Josh Willox
Durch einen Leserhinweis bin ich auf die Integration Auto Backup von Josh Willox aufmerksam geworden. Besonders interessant ist diese Integration, da mit Auto Backup nicht nur Backups erstellt, sondern auch direkt alte Backups gelöscht werden können! Wer also eine gute Lösung sucht um Home Assistant Backups automatisch erstellen und löschen zu lassen, sollte sich Auto Backup genauer anschauen!
Am einfachsten klappt die Installation mittels HACS (Home Assistant Community Store), da hierüber die Integration wie im App-Store auf deinem Handy mit wenigen Klicks gesucht und installiert werden kann. Einen Neustart später ist die Integration aktiv und du musst lediglich noch die von die gewünschten Einstellungen vornehmen.
Home Assitant automatisches Backup einrichten
Es reicht nicht aus „nur“ die Integration Auto Backup zu installieren. Man muss zusätzlich noch in einer Automation die Integration „triggern“, so dass ein Backup erstellt wird. Bei dieser Gelegenheit kann Auto Backup auch gleich prüfen, ob es ältere Backups (in Home Assistant bekanntlich Snapshots genannt) gibt, die gemäß deinen Vorgaben gelöscht werden sollen.
Ist Auto Backup installiert und aktiviert, stehen mehrere Services zur Verfügung, die in einer Automation entsprechend ausgeführt werden können:
- auto_backup.snapshot_full
- auto_backup.snapshot_partial
- auto_backup.purge
So kann man einen kompletten Snapshot, einen teilweise umfassenden Snapshot oder das Löschen alter Snapshots einzeln aufrufen. Für jeden dieser Services gibt es Parameter, über die die Aufrufe wie benötigt gesteuert werden können.
In der Grundkonfiguration für Auto Backup kann man mit dem Code
auto_backup: auto_purge: true
auch angeben, dass mit jedem aufgerufenen Backup auch immer alte Backups gelöscht werden sollen. Somit muss man den Service auto_backup-purge nicht separat aufrufen sondern kann das Löschen alter Backups gleich von einem der Snapshot-Services erledigen lassen.
Beispiel-Aufruf eines Auto Backups
So könnte ein tägliches Backups (komplett) inklusive dem Löschen alter Backups zum Beispiel wie folgt aussehen:
#HACS backup - alias: '[System] - Make daily Hassio backup' trigger: - platform: time at: "02:00:00" action: - service: auto_backup.snapshot_full data_template: name: "DailyBackup: {{ now().strftime('%Y-%m-%d') }} Version {{ states('sensor.current_version') }}" keep_days: 7 - service: notify.mobile_app_pixel_4_xl data: title: "Tägliches Backup" message: "Automatisch ein tägliches Backup für Version {{ states('sensor.current_version') }} erstellt."
Ich lasse täglich um 2 Uhr nachts ein komplettes Backup erstellen. Das Backup kriegt bei mir einen eindeutigen Namen, so dass ich im Notfall schon am Dateinamen erkennen kann, welches das neueste Backup ist (ein Snapshot-Name sieht bei mir dann wie folgt aus „DailyBackup: 2020-05-10 Version 0.109.6“).
Über den Parameter keep_days definiere ich, wie alt ein Backup bei mir „werden darf“.
Zusätzlich schicke ich noch eine Push-Benachrichtigung auf mein Handy an die Home Assistant-App für Android.
Produktempfehlungen
Danke für die Anleitung bzw den Tipp.
Ich hatte das automatische löschen zuvor viel umständlicher gelöst.
Für die Zeitpunkte habe ich einen Helfer erstellt, damit ich einen Trigger habe.
Hallo und guten Abend,
ein wirklich gelungenes Backup-Tool! Leider enstpricht der Dateiname, den ich auf einem NFS-Laufwerk erzeuge, nicht dem aus Home Assistant. Bedeutet: In der Übersicht in Home-Assistant ist alles schick. Nur der eigentliche Dateiname ist kryptisch. Haben Sie dazu eine Idee?
Mit freundlichen Grüßen
Carsten
Hi Carsten,
nein, tatsächlich habe ich das bislang akzeptiert, da das Erstellungsdatum eindeutig ist. Da ich nur komplette Backups erstelle, gibt es pro Datum auch nur ein Backup (allerdings mit kryptischem Namen).
VG
Olli
Danke für die Idee und Anleitung.
Als Anfänger vielleicht noch folgende Tips, die mir geholfen haben:
– dem Code eine *- id: NAME* hinzufügen, damit man die Automation in den Entitites in der UI sieht
– den Sensor muss man zuerst hinzufügen durch: *sensor:
– platform: version* in der configuration.yaml
Versuche das jetzt noch auf einen externen Datenträger abzulegen als Kopie 🙂