Donnerstag, 3. Dezember 2015

Backup und Restore von FHEM

Backup ist immer eine gute Idee und sollte regelmäßig erfolgen. Noch viel wichtiger ist, dass man das Backup auch durch einen Restore verifiziert hat!
Viele machen Backup - aber kontrollieren?
Oder wie geht Restore?

Was soll gesichert werden? 

Wichtig ist die Applikation (FHEM) getrennt vom System (Raspbian) zu sichern. Man will ja mal das System neu machen, neue Hardware, neue Raspbian Version usw. Man kann nicht immer davon ausgehen, das man ein komplettes System Image auf einer anderen Hardware wieder einfach zum laufen bekommt.
Meine Vorgehensweise für ein komplettes Restore:
  • Systemimage neu aufspielen
  • Anpassung machen: Hostname, ev. IP, Sprache, Zeit usw. (geht auch per Script)
  • Install Script laufen lassen (siehe hier)
  • Restore FHEM 

Backup FHEM

Backup kann man direkt in FHEM in der Oberfläche machen:
  • backup in der Kommandozeile eingeben oder
  • als Automatik vorm Update einrichten
  • oder per FHEM Geräte Definition als regelmäßiger Job
Wichtig ist in jedem Fall, dass man dafür sorgt, dass das Backup auch auf ein anderes Gerät übertragen wird und nicht nur lokal auf der SD Card liegt. Wenn die mal kaputt geht wäre es sonst blöd...
FHEM führt das backup seit geraumer Zeit  im Hintergund aus, dass Problem mit doppelten Backups durch Browser Refresh ist damit Geschichte (hier noch beschrieben). Im Log entsteht ein Eintrag beim Start, und ein Eintrag wenn es fertig ist:
 Backup with command: tar -cf - fhem.cfg ...  
 Backup done  

Restore FHEM

Mit Winscp kopiere ich die gewünschte/aktuelle Backup Datei aus meinem Sicherungs-Verzeichnis auf das neue System nach /home/pi. Damit umgehe ich Schreibrechte, muss nichts verbiegen und es bleibt quasi eine temporäre Datei. 
FHEM sollte jetzt beendet sein! Entweder mit shutdown in der FHEM Kommandozeile oder über Terminal (siehe unten).
Die eigentliche Wiederherstellung des Programmpfades erfolgt so:
 sudo tar -xvzf /home/pi/FHEM-201xxxxx_xxxxxx.tar.gz -C /opt/fhem/  
FHEM wieder starten und fertig, vorausgesetzt man hat System seitig bei der Neuinstallation nichts vergessen. Die alten Befehl funktioniert auch unter Jessie noch:
 sudo invoke-rc.d fhem start  
 sudo invoke-rc.d fhem stop  

Unter Jessie funktioniert es jetzt mit Systemd: 
 sudo systemctl start fhem  
 sudo systemctl stop fhem  

Kommentare:

  1. Danke, hat mir sehr geholfen!!

    AntwortenLöschen
  2. Danke für die hilfreichen Anleitungen, ohne diese wäre es Anfängern unmöglich Fhem zu nutzen.

    AntwortenLöschen