openHAB Backup & Restore

Code-Quickie: openHAB Backup & Restore

Aus Sicherheitsgründen und Vorbeugung von Datenverlust empfiehlt es sich, regelmäßig Backups von eurer openHAB Installation zu erstellen. Wie Ihr ein Backup von allen wichtigen Daten erstellt und dieses anschließend auch wieder einspielen könnt, erklären wir Euch in diesem kurzen Tutorial. Falls Ihr auch Homegear für Eure HomeMatic Komponenten nutzt, könnt Ihr das auch sichern.

Banner openHAB Backup & Restore

Manuelles Backup der openHAB Konfiguration

Sofern Ihr openHAB aus den offiziellen Paket-Quellen installiert habt, werden Eure Einstellungen, etc. in folgenden Speicherorten abgelegt:

  • Konfigurationsdateien – /etc/openhab2
  • Benutzerdefinierte Daten – /var/lib/openhab2

Homegear speichert seine Daten in folgenden Ordnern:

  • Konfigurationsdateien /etc/homegear
  • Benutzerdefinierte Daten/var/lib/homegear

Wenn Ihr diese Verzeichnisse sichert (z. B. mit einem SCP-Client wie WinSCP), könnt Ihr sie zu einem späteren Zeitpunkt wieder herstellen.

Automatisches Backup-Skript

Ihr könnt auch folgenden Code in eine Skriptdatei einfügen und ausführen. Dazu öffnen wir in einem Terminal den Editor unserer Wahl (z. B. mit nano openhab_backup.sh) und fügen folgenden Code ein:

#/bin/sh
echo 'openHAB Backup-Skript (by frombeyond.de - V1 - 170802)'
# openHAB Service stoppen
echo 'Stoppe openHAB-Service'
sudo systemctl stop openhab2.service
# Homegear Service stoppen
echo 'Stoppe Homegear-Service'
sudo systemctl stop homegear.service

# Backup-Verzeichnis erstellen
BACKUPDIR="~/backup/openhab-backup"
HGDIR="/etc/homegear"
mkdir -p $BACKUPDIR

# Sichern der openHAB Konfiguration
echo 'Erstelle openHAB Backup'
cp -arv /etc/openhab2 "$BACKUPDIR/openhab_conf"
cp -arv /var/lib/openhab2 "$BACKUPDIR/openhab_userdata"
rm -rf "$BACKUPDIR/openhab_openhab/cache"
rm -rf "$BACKUPDIR/openhab_userdata/tmp"

# Sichern der HomeGear Konfiguration (falls vorhanden)
if [ -d "$HGDIR" ]; then
echo 'Homegear gefunden - Erstelle Backup'
cp -arv /etc/homegear "$BACKUPDIR/homegear_conf"
cp -arv /var/lib/homegear "$BACKUPDIR/homegear_userdata"
fi

# Services wieder starten
echo 'Starte Services wieder'
sudo systemctl start homegear.service
sudo systemctl start openhab2.service
echo 'Backup-Skript abgeschlossen'

Anschließend speichern wir die Datei mit STRG + O und verlassen den Editor mit STRG + X.

Nun machen wir die Datei ausführbar mit dem Befehl chmod +x openhab_backup.sh und können sie dann ausführen mit sudo ./openhab_backup.sh.

Sofern alles geklappt hat, müsstet Ihr ein Backup der Konfigurationen im Eurem Home-Verzeichnis unter ~/openhab-backup haben.

 

Automatisches Restore-Skript

Umgekehrt kann das Backup wieder hergestellt werden. Hierzu eine Datei namens openhab_restore.sh erstellen mit folgendem Inhalt:

#/bin/sh
echo 'openHAB Restore-Skript (by frombeyond.de - V1 - 170802)'
# openHAB Service stoppen
echo 'Stoppe openHAB-Service'
sudo systemctl stop openhab2.service
# Homegear Service stoppen
echo 'Stoppe Homegear-Service'
sudo systemctl stop hoemgear.service

OHDIR="~/openhab-backup/openhab_conf"
HGDIR="~/openhab-backup/homegear_conf"

# Wiederherstellen der openHAB Konfiguration
if [ -d "$OHDIR" ]; then
echo 'Wiederherstellen von openHAB Backup'
sudo cp -arv ~/openhab-backup/openhab_conf/* /etc/openhab2/
sudo cp -arv ~/openhab-backup/openhab_userdata/* /var/lib/openhab2/
sudo chown -R openhab /var/lib/openhab2
fi

# Wiederherstellen der HomeGear Konfiguration (falls vorhanden)
if [ -d "$HGDIR" ]; then
echo 'Homegear gefunden - Wiederherstellung der Einstellungen'
sudo cp -arv ~/openhab-backup/homegear_conf/* /etc/homegear/
sudo cp -arv ~/openhab-backup/homegear_userdata/* /var/lib/homegear/
sudo chown -R homegear /var/lib/homegear
fi

# Services wieder starten
echo 'Starte Services wieder'
sudo systemctl start homegear.service
sudo systemctl start openhab2.service
echo 'Wiederherstellungs-Skript abgeschlossen'

Anschließend speichern wir die Datei wieder mit STRG + O und verlassen den Editor mit STRG + X.

Nun machen wir die Datei ausführbar mit dem Befehl chmod +x openhab_restore.sh und können sie dann ausführen mit sudo ./openhab_restore.sh.

Solltet Ihr Fragen oder Anregungen zu diesem Beitrag haben, nutzt bitte wie immer die Kommentarfunktion und teilt uns Euer Feedback mit. Wir haben für die komplette Einrichtung von openHAB eine Serie an Guides erstellt.

Patrick

Gründer und Autor von frombeyond.de – Seit 25 Jahren im Bereich IT unterwegs, leidenschaftlicher Computerspieler, Technik-Freak und begeistert von allem was einen Motor (Auto/Motorrad/Flugzeug) hat.

Nutzt Zuhause openHAB2 zusammen mit HomeMatic Komponenten sowie netatmo als Wetterstation. InfluxDB und Grafana zur Auswertung.