openHAB Backup

Code-Quickie: openHAB Backup & Restore

openHAB Backup

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.

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 homegear.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.