-
-
Notifications
You must be signed in to change notification settings - Fork 194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CustomStoragePath funktioniert nicht (für Diagramme) wenn der Pfad über rc.local gemountet wird #1377
Comments
So habe mit meinen rudimentären Linux-Kenntnissen etwas experimentiert und herausgekommen ist ein erster Entwurf einer Das ganze läuft zweigeteilt ab:1. Konfigurations-Datei
2. Init-Script #!/bin/sh
# shellcheck shell=dash disable=SC2169 source=/dev/null
#
# init script to mount a network-share during boot bevore HmIP-Server starts
# by Baxxy
# source all data from /var/hm_mode
#[[ -r /var/hm_mode ]] && . /var/hm_mode
# skip this startup if not in normal mode
#[[ "${HM_MODE}" != "NORMAL" ]] && exit 0
# skip startup if MountOnBoot-File isn't found
[[ -x /usr/local/etc/config/MountOnBoot ]] || exit 0
start() {
if [[ ! -e /etc/config/safemode ]]; then
TARGET=$(grep MOUNT_TARGET_IP: /usr/local/etc/config/MountOnBoot | cut -d: -f2)
COMMAND=$(grep MOUNT_COMMAND: /usr/local/etc/config/MountOnBoot | cut -d: -f2)
echo -e "Starting MountOnBoot - pinging NAS-IP: $TARGET \n"
ping -c 1 $TARGET
if [ $? -eq 0 ]; then
echo -e "\nPing OK, NAS-Share on $TARGET will be mounted...\n"
$COMMAND
else
echo -e "\nPing fails, NAS-Share on $TARGET will not mounted!\n"
fi
else
echo "skipping MountOnBoot (safemode)"
fi
}
restart() {
start
}
case "$1" in
start)
start
;;
stop)
# nothing
;;
restart|reload)
restart
;;
*)
echo "Usage: $0 {start|restart}"
exit 1
esac
exit $? Funktionsweise kurz erklärt:
Hinweis!Auf einem Testsystem hier funktioniert das soweit problemlos. Wäre schön wenn das in der Art als neues Feature in RM einziehen könnte. |
Wenn es nicht exakt so mittels neuem init skript sein muss, dann spricht prinzipiell nichts dagegen das es in Zukunft eine Möglichkeit geben wird um solche Aktionen wie das mounten externer shares direkt nach dem hochfahren des Netzwerkes direkt in RaspberryMatic umzusetzen. Allerdings würde ich das nicht als init skript wie du das jetzt umgesetzt hast machen, sondern im grunde "nur" einen weiteren |
Danke für's Feedback!
Na klar. Könnte man mit dieser |
Ok, hab das nun entsprechend umgesetzt. Es gibt jetzt mit dem nächsten nightly snapshot an die Möglichkeit einen |
BTW: Achja, zwecks Dokumentationszwecken könnte ja mal jemand überlegen im Wiki zu diesen |
Sehr schön, habe schon gesehen das du fleißig warst.
Zwei Doofe ein Gedanke. |
Genau so ist es. Und was du da drin machst bleibt dir überlassen und wer da dann z.B. |
Mir ist jetzt noch eine zeitliche Inkonsistenz aufgefallen...
Das Anlegen von Edit: Edit2: |
S06InitSystem because that's actually the position where the storage path is important to be setup and available correctly, which in fact might not be the case in S06InitSystem. This refs #1377.
@Baxxy13 Danke für diesen Hinweis. Ich hab das ganze jetzt mal an die Stelle verschoben wo eigentlich es relevant ist das der Pfad da stimmt usw (S62HMServer). D.h. nun sollte es funktionieren das man dort einen frischen Pfad in Auch nochmal danke für deine Dokumentationsanpassungen, das war schon alles recht perfekt :) Hab aber nochmal das ganze basierend auf deinen Vorarbeiten etwas genauer versucht zu dokumentieren und dort auch nun eine Tabelle hinterlegt, sodass einem nun hoffentlich die vielfältigen Möglichkeiten klarer erscheinen :) |
Ja, das sieht heute gut aus. In einem leeren (über Damit ist das m.E. jetzt vollumfänglich und problemlos nutzbar. |
symlinks are properly dereferred so that they can be replaced rather than the link target. This should fix certain issues in replacing existing symlink. This refs #1377.
@Baxxy13 So, hab mir das mal angeschaut und ich denke den Grund dafür gefunden. Teste das bitte mal mit dem nächsten nightly build sobald der da ist und melde dich mal zurück. Auch an anderen stellen habe ich diesen fix umgesetzt und ich hoffe das da ggf. bisher nicht bekannten probleme auch beseitigt sind. Danke auf jedenfall für den Hinweis! Wieder eine Sache hoffentlich besser. |
Habe mit dem heutigen Nightly (3.59.6.20210815-84481c) nochmal alle möglichen Konstellationen durchprobiert. |
Danke für eure Arbeit! Ich habe gerade nach genau nach der rc.prelocal Datei gesucht und hatte den Wiki Eintrag https://github.com/jens-maus/RaspberryMatic/wiki/Experten-Features#individueller-diagrammbackup-speicherpfad gefunden. Leider stand aber nicht dran, dass man das nur mit dem letzten nightly so machen kann. Ich konnte scheinbar die Seite ändern und habe es mal entsprechent mit einer Warnung versehen. Übrigens habe ich so etwas schon einmal am laufen gehabt. Das war aber noch Ende 2020 mit der Version 3.53.30.20200919. Leider ist wohl die Backup Methode dann mal überschrieben worden. Die neue gefällt mir dafür umso besser. Danach muss es irgendwann mal bei einem Update kaputt gegangen sein und mir ist es jetzt erst aufgefallen, dass es nicht mehr lief. |
Ja, die |
In [https://github.com//issues/1377#issuecomment-898872757] wird der eigentlich nicht mehr benötigte USB Stick bei der Nutzung des CustomStoragePath in Verbindung mit der rc.prelocal beschrieben. Seit dem letzten Update auf Version: 3.69.6.20230407 (rpi3) laufen die Diagramme bei mir nur noch, wenn kein USB Stick steckt. Ansonsten kommt immer die Meldung, dass kein USB Stick vorhanden sei, obwohl der gemountete Pfad zum NAS vorhanden ist. Vielleicht ist es auch nur ein Problem bei meiner Hardware: Raspberry Pi 3 Model B Rev 1.2 (rpi3). Habe den USB Stick entfernt: Läuft wieder wie vorher. Diagrammdaten landen auf dem NAS. |
Das hier ist ein geschlossenes Ticket und kein Diskussionsforum. Hier geht es nicht weiter. Bitte einen entsprechenden neuen Beitrag im Diskussionteil eröffnen wenn irgendwas nicht geht und man nach Hilfe sucht. |
Describe the bug
Wenn man
usr/local/etc/config/CustomStoragePath
nutzen möchte um z.B. die Diagrammdaten (auf einem viarc.local
gemountetem NAS-Verzeichnis) zu speichern, dann funktioniert das nicht korrekt. Der Grund ist das dermount
mittelsrc.local
erst nach dem Start des HmIP-Servers (und dessen Diagrammfunktionalität) stattfindet.Steps to reproduce the behavior
usr/local/etc/config/CustomStoragePath
mit dem Inhalt/mnt
anlegen/usr/local/etc/rc.local
anlegen und damit z.B. ein Netzlaufwerk mountenExpected behavior
CustomStoragePath
sollte auch für Diagrammdaten uneingeschränkt nutzbar seinScreenshots
...
System information:
Additional context
CustomStoragePath
auch mit Diagrammen funktional. Aber nicht jeder hat oder möchte CUxD nutzen./etc/fstab
ginge es auch, aber das ist ja weder upgradefest noch im Backup drin.Idealerweise würde eine Möglichkeit implementiert einen Mount zu etablieren bevor der HmIP-Server startet, welche upgradefest und im Backup enthalten ist.
The text was updated successfully, but these errors were encountered: