Hauptmenü

Backup einspielen

Begonnen von boklu, 16 April 2018, 11:04:15

Vorheriges Thema - Nächstes Thema

boklu

Moin,

ich hatte am Freitag einen Ausfall meines FHEM-System (auf einen Raspberry 3B). Ich bin zuerst von einem Schaden an der SD-Karte ausgegangen. Es war in diesen Fall war nun der Pi durchgebrannt und ich konnte das Systen schnell wieder zu laufen bringen. Trotzdem hat mich das Thema "Backup wederherstellen" interessiert.

Da ich regelmäßig Backups vom System mache, habe ich mir im Internet angeschaut wie man die Daten wieder herstellt. Dabei gibt es ja schon das Problem, wie man die Backup-Datei wieder auf sein System bekommt.  Ich bin nun kein Linux-Anwender (und nein ich will auch keiner werden nur weil ich FHEM auf dem Raspberry benutze!) und möchte mich nicht mit Schreibrechten von einzelnen Ordner rumquälen. Warum muss das so kompliziert sein?

Wieso gibt es alleine schon beim erstellen des Backups kein zusätzlich Befehl (oder Parameter) der einen Webdownload der Backup-Datei anschubst? Es ist zwar nicht schwer per FTP die Dateien vom Pi runterzuladen; aber warum dieser Umweg? Ähnliches beim Restore. Warum könnte man nicht einfach die Datei per Webupload auf das System laden und FHEM übernimmt das prüfen der Datei und das Wiederherstellen des Systemes? Das würde vieles errleichtern.

Ich mache regelmäßig und häufug Backups. So sammlen sich im Laufe der Zeit viele Backups im Verzeichnis an (letztes Mal 25 Stück a 26MB so ca. 650MB insgesamt). Diese zu löschen per FTP ist nicht ohne weiteres möglich (hier kommen wieder die Rechte zum tragen).  Ich habe mir nun einen Routine in FHEM schreiben müssen, die den Inhalt des Backups-Verzeichnis löscht. Ist nicht weiter schwer, aber ein "Aufräumen des Systemes" um Speicherplatz (Backup-Verzeichnis, Log-Verzeichnis, RestoreDir) freizumachen sollte evtl. auch eingefügt werden um ein FHEM System lange ohne Probleme laufen zu lassen. Das löschen von Dateien und Verzeichnissen von "außerhalb" ist leider immer ein Problem.

Ich möchte FHEM einigen meiner Freunde ans Herz legen, die jedoch mit LINUX noch weniger am Hut haben als ich. Mit einer Weboberfläche kann aber jeder umgehen!

Bitte das nicht als Kritik sondenr als Vorschläge für weitere Entwicklungen verstehen. Ich weiß, das alle Programmierer hier ehrenamtlich arbeiten und FHEM ist ein wirklich tolles Programm mit Mölglichkeiten die kein anderes bietet.

VG

Boris







Beta-User

Moin,

da du sowieso von Zeit zu Zeit per ssh auf das System mußt (z.B. für OS-Updates):
Warum erledigst du das Löschen von "überflüssigen Backups" dann nicht in dem Zug?

Installiere das Paket "mc" und starte mc dann mit sudo, dann geht das ganze recht komfortabel.
Btw.: in dem Paket ist auch ein netter Editor drin (mcedit) ;) .

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

boklu

Weil es deutlich umständlicher ist!

CoolTux

ein cron job der einmal täglich ein find macht und dateien älter x tage sucht. gaaaanz einfach.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Beta-User

@Cooltux: Wenn ich es richtig verstanden habe, wird hier ein automatisches Popup angeregt, das einen nach einem Backup auffordert, das Backup auf einem anderen Rechner zu speichern und dann auf dem Server löscht. Dazu den umgekehrten Weg für restore.

Korrekt?

Na ja,

was im Einzelfall als "umständlich" anzusehen ist, darüber kann man sicher lange streiten.
Ich wollte z.B. kein Backup "zwangsweise" per Weboberfläche woanders hinspeichern müssen - auf meinem Server ist genug Platz. Das Ding hat auch keine SD-Karte, die gerne mal crashed, und von daher hole ich mir dann immer nur "wichtige" Backups auf einen anderen Rechner, alle wollte ich da gar nicht haben.
Ergo: Ich wünsche mir keine derartige "Zwangsbeglückung". Aber du kannst natürlich gerne ein eigenes Backupscript erstellen und hier posten für Leute, die das genauso sehen.

Und solange die Backups noch auf dem Server liegen, sollte es eigentlich auch kein Rechte-Problem geben. Überspitzt formuliert: Du schaffst uU. erst das Problem, dessen Lösung du als umständlich empfindest...

Nur am Rande: Wer nicht mit einem grafischen Dateimanager wie mc umgehen kann und grundsätzliche Angst vor einem Linux hat, sollte eben entweder ein anderes OS für den Server wählen oder die Finger von FHEM lassen.

Just my2ct.

Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Frank_Huber


Wernieman

1. Restore per "Popup"
Dazu muß ein Serverdienst laufen. Wenn aber FHEM kaput ist, kann kein Serverdienst laufen, also so ein Restore ist dann nicht möglich.

Meine Meinung:
Handisch ist da besser als Manuell. In einem restorefalle ist meistens mehr kaputt.. und eine automatisation mach dann noch mehr Probleme


2. Backup "woanders" hinspielen:
Wenn man sich andere Produkte ansieht, ist es sehr verschieden gelöst. Auch so etwas wie bei FHEM ist "drin".

Meine Meinung dazu:
Backup MUß automatisch laufen. Sorry aber bei einem System wie fhem muß man sich diesbezüglich doch etwas einarbeiten. Sonst nimmt man eben "rundlosglücklich" Packete mit den bekannten "Einschränkungen".
(Disclaimer: rundlosglücklich ist in diesem Falle sehr ironisch gemeint)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Wernieman

Auch wenn es jetzt OT wird, aber trotzdem SEHR wichtig:

Zitat von: Frank_Huber am 16 April 2018, 12:42:42
Das hier funktioniert bei mir super:
http://www.meintechblog.de/2015/05/fhem-howto-automatisches-backup-auf-externem-nas/
Auch der Restore Vorgang ist erklärt.

Im Prinzip O.K., nur etwas sehr unsicher ...

Nur mal als Denkanstoß:
Warum muß folgendes sein?
Zitatfhem    ALL=(ALL) NOPASSWD: ALL
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Frank_Huber

Zitat von: Wernieman am 16 April 2018, 12:45:52
Auch wenn es jetzt OT wird, aber trotzdem SEHR wichtig:
Im Prinzip O.K., nur etwas sehr unsicher ...
Nur mal als Denkanstoß:
Warum muß folgendes sein?

Dafür ist der Hinweis drunter:
ZitatUpdate vom 02.06.2015: Wer dem fhem-User aus Sicherheitsgründen nur eigeschränkte Berechtigung geben möchte, nutzt stattdessen  "fhem ALL=(ALL) NOPASSWD:/opt/fhem/FHEM/backup.sh". Danke an Ronny für den Hinweis. Update Ende

Aber gebe Dir Recht, der Hinweis drunter sollte "Standart" sein.

Wernieman

Nur wer scrollt sich durch die ganzen Kommentare... ;o)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Frank_Huber

musst nicht, ist direkt im Text mit drin. (Anhang)

boklu

Ich merke schon, das hier so keiner richtig versteht worauf ich hinaus will.
ich kann mich in alles einarbeiten. Die Frage ist nur ob ich es möchte. Vom programmtechnischen sollte es recht simple sein so etwas zu implementieren. Unter ASP.NET habe ich soetwas hundermal gemacht (Dateien hochladen, prüfen und verarbeiten).
In der CCU2 funktioniert das perfekt. Dafür hat diese natürlich leider nicht den Leistungsumfang wie FHEM.
Die Frage ist einfach ob FHEM ein System bleiben soll, das nur Halbprofis warten können oder kann man ein solches System so gestalten, das auch relative Laien die Pflege und die Sicherungen gewährleisten können.

Ich selber brauche ein ausfallsicheres System welches im Schadensfall schnell wieder durch ein Backup ersetzt werden kann. Ich will dann nicht lange im Netz suchen wie ich was setzen muss um ein einfaches Backup einzuspielen.

Dazu muß doch nur eine Backup-Webseite erstellt werden, die meinetwegen die letzten 5 oder 10 gemachten Backups zum download anbietet, ein Button der das Verzeichnis löscht (entweder vollständig oder alle bis auf die 5 letzten Backups) bzw. eine CheckBox-Liste in der man die zu löschenden Dateien auswählt und ein Uploadfeld mit dem man die Backup-Datei auswählt + Button zum Upload und Anwendung. Das kann doch alles nicht so schwer sein. Ich bin leider momentan beruflich sehr eingespannt sonst würde ich es selber versuchen.

VG

Boris

CoolTux

Zitat von: boklu am 16 April 2018, 14:01:14
Dazu muß doch nur eine Backup-Webseite erstellt werden, die meinetwegen die letzten 5 oder 10 gemachten Backups zum download anbietet, ein Button der das Verzeichnis löscht (entweder vollständig oder alle bis auf die 5 letzten Backups) bzw. eine CheckBox-Liste in der man die zu löschenden Dateien auswählt und ein Uploadfeld mit dem man die Backup-Datei auswählt + Button zum Upload und Anwendung. Das kann doch alles nicht so schwer sein. Ich bin leider momentan beruflich sehr eingespannt sonst würde ich es selber versuchen.

Nicht schlimm ich hab Zeit.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

boklu


Wernieman

Ich glaube, er meinte damit, das Du doch .... ;o)

Wie schon geschrieben: Ist möglich, muß man "nur" Programmieren und einen Service dafür bereitstellen + Zusätzlichen Webserver installieren ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Beta-User

Zitat von: Wernieman am 17 April 2018, 09:42:59
Ich glaube, er meinte damit, das Du doch .... ;o)
Hatte ich auch so verstanden :) .

Als Einstiegspunkt für "backup" (aus der commandref): You could pass the backup to your own command / script by using the global attribute backupcmd.
Sowas scheint es bei "restore" nicht zu geben, aber du hast ja Programmiererfahrung und findest sicher bei Gelegenheit den richtigen Einstieg dafür.

Übrigens: Wenn es "nur" darum geht, verschiedene Versionen der cfg bereitzustellen, könnte auch das hier helfen ;) .

Als erfahrener Programmierer nutzt du sowieso sicher auch ein Testsystem, bevor du wesentliche Änderungen der cfg (z.B. mittels RAW-Import) dann in die config schiebst, oder?

Na ja, bin mal gespannt, ob ich irgendwann Anlaß habe, meine Gewohnheiten zu ändern.

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Wernieman

@Beta-user
Ich hoffe mit "Du" meinst Du nicht Meinereiner ... ist etwas mißverständlich ...

ich meinte mit "Du" in meinem Beitrag den Threadersteller
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Beta-User

Jup, so war es auch bei mir gemeint :) :

"du" = TE = @boklu
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

CoolTux

Zitat von: boklu am 17 April 2018, 09:28:54
Hört sich gut an!  :)

Ich habe Zeit und kann warten war gemeint.
Gerne helfen die Wissenden bei Fragen zur FHEM Programmierung.
Und da Du der einzige hier meldende mit diesem Anspruch bist, hat das ganze ja wirklich noch Zeit. Mach erstmal Dein berufliches in Ruhe und dann fängst mit FHEM Programmierung an.
Mache ich ja auch so  ;)
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net