FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: Invers am 05 Dezember 2021, 19:35:44

Titel: [GELÖST] fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Invers am 05 Dezember 2021, 19:35:44
ich habe versucht, meine Fritzbox zu mounten. Über Putty geht das auch prima mit.

Ich möchte aber nur bei Bedarf mounten. Ich habe also über die Eingabezeile in fhem zum Test folgendes eingegeben:
{system (" sudo mount -t cifs -o credentials=$HOME/.smbcredentials,vers=3.0,noserverino //192.168.178.1/FRITZ.NAS/ /mnt/")}

Der Code wird nicht ausgeführt, sondern abgelehnt mit der Begründung:
Global symbol "$HOME" requires explicit package name (did you forget to declare "my $HOME"?) at (eval 94018) line 1.

Würde so etwas überhaupt funktionieren und wenn ja, wie?
Titel: Antw:fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Wernieman am 06 Dezember 2021, 10:34:03
1. Deine "Putty-Zeile" ist leer ...
2. sudo .. hat FHEM sudo-Rechte?
3. $HOME ist eine Shell-Variable ... an dieser Stelle besser direkten Pfad angeben
Titel: Antw:fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Invers am 06 Dezember 2021, 12:06:39
Danke.
Puttyzeile ist verloren gegangen.
sudo mount -t cifs -o credentials=$HOME/.smbcredentials,vers=3.0,noserverino //192.168.178.1/FRITZ.NAS/ /mnt/

Zitat$HOME ist eine Shell-Variable ... an dieser Stelle besser direkten Pfad angeben

Danke, probiere ich.

Titel: Antw:fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: MadMax-FHEM am 06 Dezember 2021, 12:08:46
Evtl. das hier beachten: https://forum.fhem.de/index.php/topic,124549.msg1191385.html#msg1191385

Gruß, Joachim
Titel: Antw:fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Otto123 am 06 Dezember 2021, 12:24:12
Ernste Frage: Was soll dieser mount Befehl für Sinn machen?
$HOME liefert - wenn vorhanden - die env Variable vom Homedir zurück:
typischerweise
für fhem -> /opt/fhem
für pi -> /home/pi
für sudo (root) -> /root

Unter Umständen ist diese Variable aber nicht mal gesetzt. (Test in FHEM {qx(env)})

Warum wollen denn momentan alle den mount so dreimal kompliziert? liegt das am Advent? Oder am Winter Blues ?  ;D
Und man sieht deutlich: wer abschreibt, schreibt bei dem ab der es auch gar nicht wusste - wahrscheinlich gibt es eine Quelle im Internet mit dem falschen Syntax mit einem "/" am Ende der Pfadangaben. Das Handbuch  (https://linux.die.net/man/8/mount)war es ist nicht   ;D ;D
Oder war dieser Syntax mal zulässig / egal und ist es jetzt nicht mehr? Kann mich nicht erinnern...
Titel: Antw:fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Invers am 06 Dezember 2021, 16:53:36
ZitatWarum wollen denn momentan alle den mount so dreimal kompliziert? liegt das am Advent? Oder am Winter Blues ?  ;D
Und man sieht deutlich: wer abschreibt, schreibt bei dem ab der es auch gar nicht wusste - wahrscheinlich gibt es eine Quelle im Internet mit dem falschen Syntax mit einem "/" am Ende der Pfadangaben. Das Handbuch war es ist nicht   ;D ;D
Oder war dieser Syntax mal zulässig / egal und ist es jetzt nicht mehr? Kann mich nicht erinnern...

Das ist richtig, ich habe abgeschrieben. Ist ja auch erlaubt. Hab ich mir bei der Regierung abgeguckt.

Ich bin der Anleitung hier gefolgt, weil ich keine Ahnung habe, aber trotzdem ein Backup möchte:
https://www.andwil.de/weblog/linux-fritznas-mounten-cifs (https://www.andwil.de/weblog/linux-fritznas-mounten-cifs)

Ich habe nun alles noch einmal weggeworfen und beginne von vorne.
Wenn ich so weit bin, melde ich mich noch einmal. Bis dahin vielen Dank.
Titel: Antw:fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: yersinia am 06 Dezember 2021, 17:07:35
Zitat von: Otto123 am 06 Dezember 2021, 12:24:12Warum wollen denn momentan alle den mount so dreimal kompliziert? liegt das am Advent? Oder am Winter Blues ?  ;D
Und man sieht deutlich: wer abschreibt, schreibt bei dem ab der es auch gar nicht wusste - wahrscheinlich gibt es eine Quelle im Internet mit dem falschen Syntax mit einem "/" am Ende der Pfadangaben. Das Handbuch  (https://linux.die.net/man/8/mount)war es ist nicht   ;D ;D
Oder war dieser Syntax mal zulässig / egal und ist es jetzt nicht mehr? Kann mich nicht erinnern...
Wieso eigtl den mount-Befehl selber einklimpern bzw versuchen über FHEM zu steuern!? Vorher nochmal gucken, ob das Ziel verfügbar ist? Vlt schreibt gerade noch ein anderer Prozess drauf?  ::)
autofs (https://wiki.ubuntuusers.de/Autofs/) anyone? :)
[eigenwerbung]*hüstel* automatisches Backup + Kopie auf NAS + löschen alter Backups (https://forum.fhem.de/index.php/topic,87669.0.html) ;D[/eigenwerbung]
Titel: Antw:fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Otto123 am 06 Dezember 2021, 18:26:02
Zitat von: Invers am 06 Dezember 2021, 16:53:36
Das ist richtig, ich habe abgeschrieben. Ist ja auch erlaubt. Hab ich mir bei der Regierung abgeguckt.

Ich bin der Anleitung hier gefolgt, weil ich keine Ahnung habe, aber trotzdem ein Backup möchte:
War nicht böse gemeint, die Häufung gestern und heute war mir bloß irgendwie schleierhaft. Das mit dem mounten eines samba Shares ist relativ simpel, lies den Link von Joachim, vielleicht verstehst Du meinen Frust. Dort steht auch die Lösung und der Link zu einer Beschreibung, leider wurde in dem Thread zu allem Übel am Ende wieder alles durcheinander geworfen.  ::)

Und bei mount mit 100.000 Möglichkeiten, Optionen, Berechtigungen und Dateisystemen usw. finden sich auch noch schnell drei weitere Varianten die man in die Schale werfen kann, bevor überhaupt einmal das Laufwerk verbunden ist. Da ist Windows viel einfacher - net use kann nicht viel, dafür geht es dort einfach geradeaus - duck und weg  ;D ;D ;D

Nachtrag: Hier gab es schon mal eine Anleitung in wenigen einfachen Schritten: https://forum.fhem.de/index.php/topic,100051.msg934486.html#msg934486
Titel: Antw:fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Wernieman am 06 Dezember 2021, 20:22:45
Dafür kann "net use" auch nur Windows *hüstel*
Vergiss nicht, das Du hier über Betriebsystemgrenzen hinweg "mountest"

Aber warum mount genau über FHEM ist mir auch ein Rätsel .. aber bestimmt gibt es einen Grund dafür  ;D
Würde es aber auch eher in ein externes Programm auslagern. Damit man die Fehlerbehandlung besser erledigen kann (und soll!)(und NEIN, ich schreibe kein FHEM Modul dafür  ;D )
Titel: Antw:fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Invers am 06 Dezember 2021, 21:59:04
Danke euch allen. Ist ne Menge Stoff für jemanden, der keine Ahnung hat. Ich werde alles studieren, was ihr verlinkt und geschrieben habt.
Das automatische Mounten beim Pi-Start funktionierte ja bei mir bereits. Ich habe es aber nicht geschafft, das Backup auf die Freigabe zu schicken. Ich probier noch mal nach eurer Methode.
Titel: Antw:fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Otto123 am 06 Dezember 2021, 22:34:25
Die Aussage verstehe ich jetzt nicht. Du hast gesagt Du kannst die Zeile mit putty ausführen!?
Worum geht es jetzt?
Ein Server Share mounten oder auf ein gemountetes Share etwas aus dem Backup Verzeichnis kopieren? Oder einfach ein externes Backup einrichten - egal wie?

Ich habe auch ein Script (https://github.com/heinz-otto/raspberry/blob/master/setupBackupFhem2Cifs.sh) das kannste herunterladen, Deine Daten am Anfang eintragen, ausführen und dann hast Du ein DOIF wo Du nachsteuern kannst wie / wann die Daten auf die Fritzbox kommen sollen. Aber auch das geht nicht ohne technische Grundlagen.
Titel: Antw:fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Invers am 07 Dezember 2021, 13:57:05
Ich habe den Beitrag in deinem Blog schon gelesen. Bin durch die Googlesuche darauf gestossen.
In meinem ersten Beritrag ging es halt nur darum, das Mounten in der fhem-Kommandozeile auszuführen.
Das funktionierte bei mir halt nicht. In Putty liess sich aber die Zeile ausführen. Ich wollte nun eigentlich nur wissen, wie ich das in fhem bewerkstelligen kann.
Der Rest hat sich dann erst entwickelt.
Dank eurer intensiven Hilfe habe ich nun alles gebacken bekommen.

Nochmals danke.
Titel: Antw:fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Invers am 12 Dezember 2021, 09:58:41
Ich habe nun folgende Lösung imEinsatz, die auch funktioniert.
Die Backups erfolgen hierbei auf eine SSD, die an einem Fritzbox-USB hängt.

defmod DI_Backup DOIF ([03:03])\
    ({qx(sudo mount -t cifs -o credentials=/home/pi/.smbcredentials,vers=3.0,noserverino,rw,file_mode=0777,dir_mode=0777 //192.168.178.1/FRITZ.NAS/SABRENT/piBackup/ /opt/fhem/fritzNAS/)})\
    (backup)\
    ({qx(ls -1tr ./fritzNAS/* | head -n -10 | xargs -d '\n' rm -f --)})
attr DI_Backup do always
attr DI_Backup room System
attr DI_Backup wait 0,5,7200


Danke für eure Unterstützung.
Titel: Antw:[GELÖST] fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: MadMax-FHEM am 12 Dezember 2021, 10:55:07
Wenn der mount aber nicht klappt (und du prüfst das ja nicht), dann landet dein backup aber (wieder) LOKAL auf dem PI wo fhem läuft...

Warum lagerst du das nicht in ein Script aus, dort kannst du prüfen, ob der Mount geklappt hat und dann z.B. per telnet/HTTP(s) etc. ein Backup in fhem anstoßen...
...wenn der Mount nicht geklappt hat -> selber Weg: Fehlermeldung an fhem... (z.B. setreading DOIF status error)
Das DOIF (wobei ja ein at "reichen" würde) startet dann "nur" das Script...

EDIT: oder per at ein backup in fhem anstoßen. Ein notify auf Backup done und da dann ein Script, welches mounted und das lokal angelegte Backup auf das NAS kopiert... Dann hast du das Backup sogar "doppelt"...

Weil so glaubst du dich guten Mutes immer ein Backup auf dem "NAS" zu haben...
...aber in wirklichkeit liegt es "lokal" (und müllt die Platte zu)...

Gruß, Joachim
Titel: Antw:[GELÖST] fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Invers am 12 Dezember 2021, 13:37:36
Ja, du hast sicherlich Recht. Aber was ich gamacht habe, habe ich irgendwo zusammengekratzt und gebastelt.
Was du vorschlägst, übersteigt meine Kenntnisse um Lichtjahre.
Ich kann ja zum Glück im NAS nachsehen.
Titel: Antw:[GELÖST] fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Wernieman am 12 Dezember 2021, 19:27:02
Nur wie häufig machst Du es? Das nachsehen? Backup muß automatisch und sicher funktionieren, sonst ist es kein Backup.

Und noch was, Du mountest, aber ich sehe nirgends, das Du unmountest. Das kann zu Problemen führen ...

Meine Empfehlung: Lager es, wie Vorgeschlagen, in ein Bash-Script aus. Am besten auch vom Cron-Job und nicht von FHEM starten. Dann kannst Du auch nach jeder Aktion den Fehlercode ($?) prüfen ...
Titel: Antw:[GELÖST] fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Invers am 12 Dezember 2021, 21:07:05
OK, ich werde mein Glück probieren.
Unmount aus fhem kann ich, aber ich dachte, es wäre nicht nötig.
Ich versuche mal, das an den Cronjob zu hängen.
Danke.
Titel: Antw:[GELÖST] fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Otto123 am 12 Dezember 2021, 21:23:50
versuch doch erstmal Dich nochmal mit einem vernünftigen mount anzufreunden. Das was Du jetzt als Lösung hast, ist mMn ne Katastrophe.
Und qx() blockiert Dein FHEM, das kann bei einer Netzwerk Laufwerksverbindung im blöden Fall mal schnell Minuten dauern. Und völlig ohne Not.
Du sagst immer es übersteigt Deine Fähigkeit in Linux, wehrst Dich aber vehement gegen gut erklärte Lösungsvorschläge.  ::)
Titel: Antw:[GELÖST] fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Invers am 12 Dezember 2021, 23:06:37
Hallo Leute.
Wenn das so rüber gekommen ist, bedaure ich es. Es liegt mir fern, mich euren Vorschlägen gegenüber zu verschliessen.
Ich habe, wie bereits gesagt, den Blog von Otto zu diesem Thema gelesen. Ich verfolge den Blog übrigens schon seit langer Zeit und habe von dort auch schon Dinge adaptiert, wie z.B. die Installation von fhem per Script. Läuft super, danke dafür.

Ich wollte aber unbedingt meinen Gedanken zu Ende verfolgen, rein aus Interesse.
Klar höre ich auf eure Meinung und baue das nun um. Das meine Idee so besch.... war, ging nicht so eindeutig aus euren Beiträgen hervor. Erst die letzten Posts zeigten das.

Ich mach das also mal neu und frage nochmal, falls es bei mir irgendwo klemmt, was mit Sicherheit der Fall sein wird.

Vorerst nochmals meinen Dank an euch.
Titel: Antw:[GELÖST] fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Wernieman am 13 Dezember 2021, 18:44:01
das mount hat nix mit FHEm zu tuen.

Es ist etwa wie: lege CD in CD-Laufwerk
Am nächsten Tag: lege CD in CD-Laufwerk

Anders als in der Wirklichkeit, wo nur Platz für eine CD *) ist Unix  offener und sagt, wenn root will, das ich auf dem Mount X das Y lege, mache ich es. Es Demountet aber nicht das vorher darin gelegene.

*) Bin mir nur nicht bei SMB so sicher, ob das nicht eventuell intern abgefangen wird, wenn Quelle/Ziel gleich ist.
Titel: Antw:[GELÖST] fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Invers am 14 Dezember 2021, 09:27:25
Bei mir zumindest kommt da dann folgende Meldung:
mount error(16): Device or resource busy

Scheint somit keine Probleme zu geben.
Titel: Antw:[GELÖST] fhem-Eingabezeile - mounten mit Systembefehl möglich?
Beitrag von: Wernieman am 14 Dezember 2021, 10:29:57
S.o. wird scheinbar vom cifs abgefangen.