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?
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
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.
Evtl. das hier beachten: https://forum.fhem.de/index.php/topic,124549.msg1191385.html#msg1191385
Gruß, Joachim
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...
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.
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]
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
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 )
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.
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.
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.
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.
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
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.
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 ...
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.
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. ::)
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.
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.
Bei mir zumindest kommt da dann folgende Meldung:
mount error(16): Device or resource busy
Scheint somit keine Probleme zu geben.
S.o. wird scheinbar vom cifs abgefangen.