Ergebnis 1 bis 10 von 14
-
17.04.2017, 09:37 #1
- Registriert seit
- 27.03.2015
- Beiträge
- 1
- Thanks (gegeben)
- 0
- Thanks (bekommen)
- 0
- Total Downloaded
- 44,28 MB
- Total Downloaded
- 44,28 MB
Script auf USB automatisch ausführen, wenn angesteckt
Hallo,
ich würde gern ein automatisches Script basteln, welches sich automatisch ausführt, wenn man den Stick in den Receiver steckt. z.B. opkg update && upgrade, update der cccam.cfg, o.ä.
Es soll eine Schnittstelle für unversierte Verwandte sein. Denen schicke ich einfach eine .sh datei, die die auf einen Stick ziehen, und den dann in den Receiver stecken. Das kriegen die noch hin.
Wie ich die Scripte schreibe, das kriege ich hin. Nur ich habe keine Idee wie die automatische ausführung angestoßen wird.
Vielleicht weiß hier ja jemand Rat.
Viele Grüße & Vielen Dank schon mal!
-
Advertising
-
17.04.2017, 17:43 #2Pike_BishopGast
Hi,
EDIT !
Hier im folgenden Link steht alles was man wissen muss und ne praktikable Lösung;
https://www.opena.tv/skripte/34020-s...tml#post299312
Tja das könnte so einfach sein wenns udev für die Boxen gäbe aber so kanns kompliziert werden
(wobei udev gäbe es ja aber man sollte es nicht installieren da ja schon mdev läuft und man sollte die nicht mischen).
Mag ja sein das es mit mdev auch sehr einfach zu bewerkstelligen wäre - jedoch hab ich kaum Ahnung von mdev
man findet im ganzen Netz keine brauchbare Doku dazu.
Du könntest dir ein zweites Script schreiben welches durch nen Cronjob alle Minuten ausgeführt wird und immer auf der Box deiner Verwandten unter /usr/script liegt
das abfrägt ob der Stick gemountet wurde und wenn ja das Script (Hauptscript) am Stick ausführt.
Dazu musst aber erstmal sicherstellen das der Stick bei jedem Einstecken in ein und denselben Mountpoint gemountet wird
was du aber auch mit dem zweiten Script selber erledigen könntest indem du einfach die uuid vom Stick per blkid abfrägst
und den Stick dann mittels uuid in nem immer gleichen Mountpoint mountest.
Jetzt musst dann aber weiter noch dafür sorgen wenn das Hauptscript erfolgreich durchgelaufen ist das dieses den Stick umountet
damit nicht weiter versucht wird das Hauptscript am Stick auszuführen.
So in der Art halt - da hast was zum Tüfteln.
Zusammenfassung grob !
1.) Also das Zweitscript sieht jede Minute durch den Befehl blkid nach ob der Stick angeschlossen ist
wenn nicht, Abbruch also exit
2.) Falls aber schon, dann mountet es erstmal mittels uuid den Stick nach z.b: /media/scriptstick
Ordner scriptstick kannst ja ebenfalls im Zweitscript erstellen lassen bei Bedarf.
, und nun führt das Zweitscript weiters das Hauptscript am Stick aus.
3.) Bei Erfolg des Hauptscripts am Stick musst du nun dafür sorgen das der Stick umountet wird
damit sich das Ganze nicht endlos wiederholt also das Zweitscript wieder jede Minute mit exit abbricht.
Hier würde ich ja das Hauptscript gar nicht direkt am Stick ausführen sondern es mittels Zweitscript temporär
auch nach /usr/script kopieren und von da aus ausführen und wenns abgearbeitet ist gibts dann keine Probleme
wenn das temporäre Hauptscript den Stick wieder umountet und es müsste sich sogar selbst löschen können
mit dem entsprechenden Befehl darin.
Grüsse
PikeGeändert von Pike_Bishop (30.04.2017 um 16:15 Uhr)
-
17.04.2017, 18:03 #3HautdenlucasGast
die sollen sich dreamexplorer installieren, dann die updates mit ordner und unterordner so auf den stick, damit die nur noch nach root kopiert werden brauchen. geht bei dreamexplorer mit gelber taste, einmal gemacht, merkt der sich sogar das ziel. denke das kriegen die kids auch hin und opas wie ich auch.
-
17.04.2017, 18:27 #4Pike_BishopGast
Ja klar, mit DreamExplorer würden die das sicher auch hinbekommen wenn man sie anlernt, aber ich würd da stattdessen lieber das Plugin ppanel nehmen
oder noch besser das Script per Hotkey einfach auf ne Taste legen (einfacher gehts eh nicht mehr)
Script liegt unter /usr/script man fügt es mittels Hotkey zu ner Taste nach Wahl hinzu und die Verwandten müssen nur noch diese eine Taste drücken.
Wozu da noch nen Stick !
@madie
wärst du so nett und verschiebst den Thread in die Script Abteilung - Danke
Grüsse
PikeGeändert von Pike_Bishop (17.04.2017 um 18:32 Uhr)
-
17.04.2017, 18:46 #5
- Registriert seit
- 05.04.2013
- Beiträge
- 481
- Thanks (gegeben)
- 1409
- Thanks (bekommen)
- 3257
- Total Downloaded
- 295,50 MB
- Total Downloaded
- 295,50 MB
Box 1:AX HD51kein problem. done
-
Danke - 1 Thanks- bedankten sich
-
17.04.2017, 19:47 #6Pike_BishopGast
Hi,
Danke @madie.
@Shortycc
Kannst auch mal hier nachlesen wegen mdev;
mdev Regeln und Autostart?
da hat schonmal einer sein Glück versucht is dann aber auf udev ausgewichen,
wenn man aber den Beitrag #2 vom @niki da liest klingt das gar nicht so schwer - vielleicht probierst da erstmal was hinzukriegen
Ich meine da läuft ja sonst auch alles über Scripts bei mdev wies aussieht und funktioniert.
Sieht man sich z.b: die Zeile 40 in der /etc/mdev.conf an steht da;
Code:[hs]d[a-z][0-9]? 0:0 664 */etc/mdev/mdev-mount.sh
jedoch aber werden so die vorhandenen devices durch das Script /etc/mdev/mdev-mount.sh gemountet
und so was ähliches bräuchtest du, nur halt explizit nur für den bestimmten Stick und da weiss ich nicht ob auch in mdev die uuid akzeptiert wird
denn ne eindeutige Kennung also durch die uuid wäre da schon sehr wichtig.
Und abschliessend hier noch die mdev Doku;
https://git.busybox.net/busybox/plain/docs/mdev.txt
EDIT !
Also hab jetzt ein bisschen mit mdev gespielt, aber bring nix zusammen.
Hab mal nen zusätzlichen Stick gemountet wo ich danach wusste das der immer als /dev/sde1 erkannt und nach /media/sde1 gemountet wird
, auf diesen Stick hab ich ein Testscript gelegt und weiters in der /etc/mdev.conf die folgende Zeile eingetragen;
Code:sde1 0:0 664 @/media/sde1/test.sh
Dann hab ich das Testscript nach /etc/mdev kopiert und die Zeile in der /etc/mdev.conf wie folgt angepasst;
Code:sde1 0:0 664 @/etc/mdev/test.sh
Das Testscript nennt sich test.sh und gibt nur ne simple Meldung am TV aus (und funktioniert wenn man es manuell aufruft), sieht so aus;
Code:#!/bin/bash ## Variablen ## BOXIP=http://localhost WGET=/usr/bin/wget STARTDATE="$(date +%a.%d.%b.%Y-%H:%M)" && echo -e "\n\nJOB START -> $STARTDATE\n\n" && sleep 7 $WGET "$BOXIP/web/message?text=This%20is%20a%20test%20->%20$STARTDATE&type=1&timeout=10" && sleep 5 exit
Grüsse
PikeGeändert von Pike_Bishop (17.04.2017 um 22:20 Uhr)
-
17.04.2017, 23:16 #7Pike_BishopGast
Hi,
Bin jetzt ein bisschen weiter;
Mit dieser Zeile in der /etc/mdev.conf;
Code:$SUBSYSTEM=usb root:root 664 @/etc/mdev/test.sh
Das is zwar ein Anfang, aber ich glaub fast das Script wurde da zweimal ausgeführt das is nicht so schön (bin da aber noch nicht sicher)
, und dann is das insgesamt noch ziemlicher Mist denn das würde immer ausgeführt werden wenn man ein USB Gerät dranhängt egal welches.
Muss jetzt erstmal noch testen ob das auch klappt wenn das Script am Stick liegt.
EDIT !
Dachte ich mir schon wenn das Script am Stick liegt gelingts nicht, aber das könnte man ja umgehen indem man ein zweites Script immer fix an der Box hat
welches das Script vom Stick auf die Box kopiert und dann ausführt.
Das andere Problem na ja, wenn man das nun so belässt in der /etc/mdev.conf
(das Script kann ja eh nur dann ausgeführt werden wenn es am USB Datenträger das Hauptscript findet)
da könnte man das Fixe Zweitscript welches immer auf der Box liegen muss doch mit ner simple if Abfrage ins exit schicken wenns kein Script vorfindet
z.b: beim Anstecken von anderen USB Datenträgern und wenn der passende USB Datenträger angeschlossen wird soll es das Script welches
ja dann vorhanden ist am USB Stick kopieren und ausführen - das sollte doch klappen fürs Erste.
Grüsse
PikeGeändert von Pike_Bishop (17.04.2017 um 23:35 Uhr)
-
18.04.2017, 00:03 #8Pike_BishopGast
Hi,
Also gut ich hab das nun nochmal getestet wen das Script auf der Box unter /etc/mdev liegt das funkt.
Aber irgendwie (es kommt zuerst die Meldung das keine anzeigbaren Datein gefunden wurden was ja korrekt ist kommt ja vom Image)
und dann meine Message am TV das ist soweit auch gut aber die Meldung zählt dann den Timeout runter und kommt dann nochmal das
lässt mich denken das das Script zweimal ausgeführt wird (kann aber auch täuschen).
Jedenfalls kommt zum Schluss aber erneut die Meldung vom Image das keine anzeigbaren Dateien gefunden wurden - ist nicht schön aber stört auch nicht kommt nur noch ganz kurz.
Nun könntest mal probieren das Testscript nicht nach /etc/mdev sondern nach /usr/script zu legen und stattdessen in der /etc/mdev.conf das einzutragen;
Code:$SUBSYSTEM=usb root:root 664 @/usr/script/test.sh
die Message;
Code:This is a test -> Datum
Denn dann brauchst bei deinen Verwandten nur noch einmal ein Script das immer auf deren Box liegt welches statt dem Testscript ausgeführt wird
und das abfrägt ob an dem eingesteckten USB Datenträger das Hauptscript vorliegt und wenn ja dieses auf die Box kopiert und von da aus ausführt
und wenn nein nur mit nem exit abbricht.
Das könnte in etwa so aussehen;
Code:#!/bin/bash if [ -e /media/sde1/stickscript.sh ] ; then cp /media/sde1/stickscript.sh /usr/script chmod 755 /usr/script/stickscript.sh bash /usr/script/stickscript.sh else exit 1 fi exit
Da müsstest im Zweitscript noch was dahingehend einbasteln.
z.b: könntest den Stick am Anfang im Zweitscript selber per uuid in den immer gleichen Mountpoint mounten, das kennst ja bestimmt is ne eindeutige Kennung.
Dazu machst aber am Besten ne Variable im Script also so als Beispiel;
Code:USB_STICK_UUID="UUID=88AB-3444"
Code:mount $USB_STICK_UUID /media/usbstick
also wenn die uuid per blkid und grep gefunden wird dann mounten wenn nicht dann exit
Mehr kann ich dir derweil nicht bieten - du bist dran
und bitte Feedback was Sache ist.
Grüsse
PikeGeändert von Pike_Bishop (18.04.2017 um 02:04 Uhr)
-
Danke - 4 Thanks
-
18.04.2017, 11:32 #9HautdenlucasGast
ich glaub shortycc interessiert das gar nicht mehr @Pike_Bishop mach bitte weiter bin auch immer offen für was neues.
-
18.04.2017, 17:44 #10Pike_BishopGast
Hi,
Ja da könntest du recht haben, habe jedenfalls schon ab und an beobachten können das ein Neuer ne Frage stellt und danach hört man nie wieder was von dem.
Aber is ja auch egal - natürlich mach ich da weiter, interessiert mich ja auch selber sehr aber bitte Geduld hab ja nicht immer Zeit oder Lust dazu.
Muss halt mal schauen das ich das bei mir hier perfekt ans Laufen bekomme wenns neues gibt meld ich mich wieder.
Grüsse
Pike
-
Danke - 3 Thanks
Lesezeichen