FHEM Backup, Mounten CIFS funktioniert nicht

Begonnen von sxx128, 20 April 2020, 07:36:37

Vorheriges Thema - Nächstes Thema

Otto123

ich würde den mount ordentlich (in fstab) machen und dann einfach die Form verwenden:
if mount /mnt/sicherung/ ;then echo Erfolg;else echo Fehler;fi

Mir gefällt einiges nicht an dem Artikel und dem Script - ich tue mich da immer schwer

Aber ich hoffe auch noch auf Infos.

Gute Nacht
Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sash.sc

Kann denn dann jemand der Ahnung hat, mal eine komplette Lösung mit geringen Aufwand bereit stellen, mir der es möglich ist, das komplette fhem Verzeichnis auf einen externen Datenträger bzw nas durchzuführen?

Habe mich an meintechblog gehalten, und hatte nach einem Systemwechsel auf bisher auch meine Probleme gehabt.

Gruß und danke
Sascha

Gesendet von meinem MI 9 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

yersinia

Zitat von: sash.sc am 25 April 2020, 10:40:52
Kann denn dann jemand der Ahnung hat, mal eine komplette Lösung mit geringen Aufwand bereit stellen, mir der es möglich ist, das komplette fhem Verzeichnis auf einen externen Datenträger bzw nas durchzuführen?
Disclaimer: ich gehöre nicht zu den Leuten mit Ahnung. Ich kann aber lesen und eigene Erfahrungen teilen.

Erstens würde ich nicht den fhem Ordner im laufenden Betrieb kopieren. Dafür ist ein FHEM-Backup besser geeignet.
Zweitens, warum nutzt du nicht autofs? Das macht das mounten automatisch wenn der Zielordner verfügbar ist. Beschrieben habe ich das hier: automatisches Backup + Kopie auf NAS + löschen alter Backups. Natürlich muss man das an seine eigenen Gegebenheiten anpassen.
Bei mir hat das drei Systemupdates überlebt. Man muss allerdings die Konfiguration(en) vorher sichern und die Pakete nachinstallieren (eine Notiz hilft da auch immer).
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Christoph Morrison

Zitat von: Otto123 am 24 April 2020, 23:28:11
Mir gefällt einiges nicht an dem Artikel und dem Script - ich tue mich da immer schwer

Vielleicht weil das Script von dort voller race conditions ist, die Qualität des Codes auch ansonsten miserabel und niemand jemals eine Pushover-Nachricht bekommen wird (Hint: L91)? Hat aber 5 Jahre keinen gestört, insofern sollte man sich vielleicht ein Skript suchen, das vom Ersteller noch supported wird.

Frank_Huber

Also Anfangs hat Pushover damit funktioniert.
Hab das Script aber schon vor langem umgebaut. (alles was mount / unmount ist raus, DOIF anstatt AT, Telegrambenachrichtigung etc.

Ob der Code grottig ist kann ich nicht beurteilen. Meine Modifikation läuft aber stabil. :-)
Hab mir vor kurzen erst eine Meshup davon mit einem DD Script gemacht.

Wenn es ein besseres Script gibt tausche ich es aber auch gerne aus. :-)

Otto123

#20
Zitat von: sash.sc am 25 April 2020, 10:40:52
Kann denn dann jemand der Ahnung hat, mal eine komplette Lösung mit geringen Aufwand bereit stellen, mir der es möglich ist, das komplette fhem Verzeichnis auf einen externen Datenträger bzw nas durchzuführen?
Hallo Sascha,

ja, hier mein Script zum Setup auf GitHub. Das muss etwas im Script konfiguriert werden, ist im Script knapp beschrieben.
Der ganze Ablauf ist hier beschrieben.
Ich verwende backup von fhem wie es ist und schaufle den backup Ordner wenn ich die NAS aktiviere dorthin. Es ist also ein zweigeteilter Vorgang. Kann man auch so gestalten, das zweiteres unabhängig von FHEM läuft.

Gegenüber dem hier diskutierten Script von MeinTechblog fehlt pushover und löschen alter Backups.
Das Script von MeinTechblog läuft andauernd mit sudo, das finde ich äußert bedenklich und vor allem völlig unnötig.

Mein Setup script läuft einmalig mit sudo, das aktive backup läuft nur mit user fhem ohne sudo.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wernieman

Es sehr viele verschiedene Konfigurationen gibt, wir eigentlich keiner "sein" Backupscript veröffentlichen. Ich z.B. habe Backup und fhem "fast" getrennt. "fast" insofern, das die Backuppllatten (über USB) an Schaltbare Steckdosen hängt, die eben FHEM schaltet.So sind die Platten nur aktiv, wenn Backup gemacht wird.

Aber es ist eben nicht für die Allgemeinheit so verständlich und gemacht ..... also ist eine Veröffentlichung eher "kontraproduktiv" ...
- 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

Christoph Morrison

Zitat von: Frank_Huber am 25 April 2020, 11:20:55
Also Anfangs hat Pushover damit funktioniert.

Ich muss mich da auch korrigieren: Es funktioniert, aber die Checks auf die Credentials funktioniert nicht (L91).

Otto123

Komm Christoph, wegen dem einen Dollar! Der macht das Kraut doch nicht fett :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Christoph Morrison

Zitat von: Otto123 am 25 April 2020, 14:18:32
Komm Christoph, wegen dem einen Dollar! Der macht das Kraut doch nicht fett :)

Wer den Dollar nicht ehrt, ist der Pushover-Nachricht nicht wert!
Kennst du shellcheck? Hätte diesen Fehler auch gefunden (und noch ein paar andere Stellen).

Forcin

#25
Hallo!

Danke für eure Antworten.

Ich fange mit FHEM gerade erst an. Deshalb kenne ich mich noch nicht so gut aus.

Zitat von: Wernieman am 24 April 2020, 15:52:44
WENN Du das Script schon mit root startest, warum ändert er dann die fstab??

Sauberer wäre es (wenn schon root), mit einem "manuellen" mount Befehl ...

Ich habe mich mit dem Skript noch nicht so weit auseinander gesetzt, dass ich sicher sagen kann, was das Skript macht.
Es schreibt allerdings einen Mount Befehl in die fstab. Wenn der einmal drin ist, wird er nicht mehr aktualisiert.
Eventuell ist das so gedacht. Ich hätte jedoch erwartet, dass der entsprechende Mount Befehl aktualisiert wird.
Da ich beim ersten Mal einen Fehler im Mount-Befehl hatte, gab es beim Mount-Versuch einen Invalid parameter Fehler.
Ich musste den fstab Eintrag manuell ändern, da das Skript diesen nicht aktualisiert.

Zitat von: Otto123 am 24 April 2020, 18:28:42
Hallo Forcin,

ich bin am analysieren und antworten, bis dahin ein paar grundlegende Dinge und zwei Fragen.
Für backup braucht man:
1. kein root
2. kein sudo
3. weder root noch sudo

Für eine Verbindung zu Windows 10 braucht man kein SMB1 es sei denn man hat ein horn altes System auf dem FHEM läuft.
Auf was für einem System läuft FHEM?

Wenn man den Eintrag in der fstab richtig macht, muss den kein Script überschreiben!
Wie sieht der Eintrag in der fstab jetzt aus?

Zusatzfrage: Ist der Windows 10 PC immer an?

Gruß Otto

Ich habe die Seite gefunden und benutze das Skript wie es ist, da ich nichts anderes und noch nicht genug Wissen habe und mir ein eigenes Skript zu schreiben.
FHEM läuft eine RaspPi mit der aktuellsten Software.
Der Win10 PC ist nicht immer an.
Ich starte das Backup momentan manuell über FHEM. Ich hatte da Skript nur über sudo manuell ausgeführt um mehr Fehlermeldungen zu erhalten.
SMB1 kann ich dann vom Win10 wieder runterschmeißen.

Zitat von: Otto123 am 24 April 2020, 19:42:17
Damit diese Bedingung wahr wird:
[ "$(ls -A $localMountPoint)" ]
Muss der Pfad in $localMountPoint existieren (wird weiter oben im Script geprüft) und er darf nicht leer sein. Bedeutet in der Annahme des Scripts: wenn nur der Mountpoint existiert aber der mount nicht geklappt hat ist die Bedingung falsch.
Die Bedingung ist aber auch falsch, wenn ein leerer Pfad gemountet wird - also Du hast auf Windows den Pfad ttt frei gegeben -> \\win\ttt, mountest diesen Pfad nach /mnt dann ergibt ls -A /mnt nichts = falsch

Also damit prüft man mMn nicht den Erfolg des mountens sondern ob ein Pfad leer ist oder nicht  :-X

Eigentlich kann man den mount Befehl an sich auf Erfolg prüfen, muss mal schauen hab ich schon mal gemacht.

Gruß Otto

Der gemountete Ordner war leer. Deshalb gab die Überprüfung wohl false zurück.
Ich probiere das jetzt nochmal aus.
Danke für den Hinsweis.

Wenn ich Zeit finde, dann probiere ich dein Backup Skript mal aus.

Zitat von: Otto123 am 24 April 2020, 23:28:11
ich würde den mount ordentlich (in fstab) machen und dann einfach die Form verwenden:
if mount /mnt/sicherung/ ;then echo Erfolg;else echo Fehler;fi

Mir gefällt einiges nicht an dem Artikel und dem Script - ich tue mich da immer schwer

Aber ich hoffe auch noch auf Infos.

Gute Nacht
Otto

Den Befehl werde ich auch mal ausprobieren.

VG
Forcin

Wernieman

Das Script hat wenig mit FHEM sondern viel mit Linux zu tuen ...
- 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

Forcin

Zitat von: Wernieman am 25 April 2020, 19:21:06
Das Script hat wenig mit FHEM sondern viel mit Linux zu tuen ...

Ja, hast recht. Allerdings kenne ich mich damit ebenso wenig aus.
Beruflich kenne ich mich zwar mit Microcontroller-Entwicklung unter C/C++ aus. Aber eher recht hardwarenah ohne ein Embedded Linux.
Und auf PC Ebene bin ich ein typischer Windows Nutzer.
Es gibt für mich viel zu lernen.  ;)

Otto123

@Christoph Ich kenne Spellcheck. Ich habe schon mal alle Empfehlungen von dem Tool umgesetzt und anschließend lief nix mehr.  ::) Aber ich habe auch damit schon viel gelernt. ;)

Ich möchte mich auch nicht weiter mit dem Script von Meintechblog beschäftigen.
Mit etwas Abstand auf mein Script geschaut, würde ich noch ein paar Dinge verbessern und ergänzen.

@Forcin
Meine Empfehlung: probier mal mein Script. Falls ich was nicht komplett beschrieben habe, helfe ich Dir da gern.
Ich gehe bei meiner Einrichtung von einer unberührten fstab aus, das ist sicher nicht immer gegeben. Der Ansatz kommt daher, dass ich dieses Script gleich für die Grundinstallation verwende. Du musst also vor dem Test, deine fstab von unnötigen Einträgen bereinigen.
Ich mache da gerne jede Verbesserung rein, die anderen hilft.
Ich habe meinen Backupansatz darauf abgestellt, dass FHEM den Vorgang triggert wenn der externe Server verfügbar ist - passt also perfekt auf Deine Aussage: Der Win10 PC ist nicht immer an.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz