NEWS
iobroker update über shell-skript auf pi
-
Hallo Zusammen,
ich habe Urlaub und dann kommt man ja auf komische Gedanken...
Ich habe die Idee, updates über meine VIS zu installieren. Mein Ansatz wäre derjenige, dass ich mir anzeigen lasse, dass Updates von Adaptern vorliegen und ich dann aus der VIS ein Skript aufrufen, was wiederum ein Shell-Skript auf meinem PI ausfüht.
Im Javaskript-Programm würde sowas ähnliches stehen:var update = "bash *PFAD*/programm.sh"; exec(update);
Im Shell-Sript programm.sh würde quasi sowas stehen:
iob stop iob update ipb upgrade iob start
(Ich habe bewusst erst einmal den upgrade self Befehl rausgelassen)
Würden dann die Befehle alle auch erst nacheinander abgearbeitet? Also, erst Zeile 1 und anschließend Zeile 2 usw. (nicht dass, z.B. Zeile 3 gestartet wird, bevor Zeile 2 "fertig" ist).
Mir ist bewusst, dass iob gestoppt wird und dann auch die VIS nicht mehr erreichbar wäre, aber die lädt sich eh alle 5min neu.
Nur mal theoretisch - würde sowas funktionieren oder was müsste ich anpassen?
Danke
Marcus -
@mguenther Das Problem hierbei ist, das wenn mehrere Adapter ein Upgrade verlangen, du das jedes Mal auf der Kommandozeile bestätigen musst. Es gibt meiner Kenntnis nach keine Option die das abfängt.
-
@lesiflo sagte in iobroker update über shell-skript auf pi:
@mguenther Das Problem hierbei ist, das wenn mehrere Adapter ein Upgrade verlangen, du das jedes Mal auf der Kommandozeile bestätigen musst. Es gibt meiner Kenntnis nach keine Option die das abfängt.
das wäre natürlich nicht gut
-
@lesiflo sagte in iobroker update über shell-skript auf pi:
Es gibt meiner Kenntnis nach keine Option die das abfängt.
die gab es zumindest früher
iobroker upgrade all
.
Dann wurde eingeführt, dass bei jedem Adapter nachgefragt wurde und mit Ja/Nein ausgewählt werden konnte.Ich erinnere mich noch an diese Diskussion, leider nicht mehr an das Ergebnis, aber ein Vorschlag war mit
iobroker upgrade all -y
die Abfragen umgehen zu können.Müsstet ihr mal versuchen
-
@homoran sagte in iobroker update über shell-skript auf pi:
@lesiflo sagte in iobroker update über shell-skript auf pi:
Es gibt meiner Kenntnis nach keine Option die das abfängt.
die gab es zumindest früher
iobroker upgrade all
.
Dann wurde eingeführt, dass bei jedem Adapter nachgefragt wurde und mit Ja/Nein ausgewählt werden konnte.Ich erinnere mich noch an diese Diskussion, leider nicht mehr an das Ergebnis, aber ein Vorschlag war mit
iobroker upgrade all -y
die Abfragen umgehen zu können.Müsstet ihr mal versuchen
also, bei Eingabe einzeln in der Console hat das funktioniert - danke
Wenn ich die Befehle nun in einer Datei wie oben beschrieben (programm.sh) ausführe, werden dann ähnlich wie in Windoof die Befehle nacheinander abgearbeitet?
-
Mal davon abgesehen, dass es keine gute Idee ist ein unattended upgrade auszuführen:
Verkette die Befehle mit && im Skript, dann wartet der Nachfolger auf die 'Fertig!'-Meldung des Vorgängers. -
@thomas-braun
danke -
Ich würde das wohl auch in eine 'screen' Session kapseln, dann raucht dir das nicht ab, wenn der javaskript-Adapter selber neugestartet wird.
Alles in allem ist das alles eher nachteilig, du nimmst dir den großen Vorteil der Konsole: Rückmeldungen was da genau mit welchen Adaptern abläuft.
-
@thomas-braun
ja, habe ich verstanden. ich werde auch zu 99% die update weiterhin an der console machen. Ist eher etwas für mein weibliches Wesen, wenn ich mal nicht da sein sollte...wie "kapsel" ich denn das in eine screen-Session?
-
Konkret müsste ich mir das auch ansehen. Aber mit Screen kann man im Terminal Prozesse vom User loslösen und der läuft dann im Hintergrund, ohne das der aufrufende Prozess oder User aktiv sein muß.
man screen
sagt dir mehr dazu.