NEWS
[gelöst]Raspberry Shutdown aus Script
-
Hallo!
Ich hatte seinerzeit iobroker auf einem RASPI3 am laufen, damals noch als root installiert.
Nun habe ich eine komplett neue Installation auf einem RASPI4 aufgezogen, iobroker dort aber nicht als root installiert.
Auf dem alten System konnte ich den IObroker per javascript stoppen und dann den RASPI herunterfahren mit:
exec('sudo shutdown -h 1'); exec('sudo iobroker stop');
Auf dem neuen System bekomme ich das aber nicht ans laufen, IObroker stoppen geht, aber der shutdown wird nicht ausgeführt:
exec('sudo shutdown -h 1'); exec('sudo systemctl stop iobroker');
Da es dazu wohl erweiterte Rechte erfordern, habe ich in den sudoers.d eine "custom_iobroker" angelegt mit dem Inhalt:
iobroker ALL=(ALL) NOPASSWD: /sbin/shutdown -h 1
Leider wird der shutdown des Raspberry nicht ausgeführt. Was mache ich falsch??
Jürgen
-
@coffee-junk
und sosudo -H -u root shutdown -h 1
-
@coffee-junk Gibt es einen Grund dass du
shutdown -h 1
verwendest und iobroker selbst stoppst?shutdown -h now
ist erlaubt (könnte man evtl auch ändern) und iobroker wird automatisch heruntergefahren, wenn du shutdown verwendest. -
@AlCalzone da hst du auch wieder recht..
-
@AlCalzone Ja, wenn der USV der Saft ausgeht, wird iobroker gestoppt und das System kontrolliert herunter gefahren.
-
@coffee-junk sagte in Raspberry Shutdown aus Script:
@AlCalzone Ja, wenn der USV der Saft ausgeht, wird iobroker gestoppt und das System kontrolliert herunter gefahren.
Fragst du die USV mit dem Nut-Adapter ab, um dann mittels eines Skripts bei geringen Akkustand den ioBroker herunter zu fahren?
-
@Röstkartoffel sagte in Raspberry Shutdown aus Script:
@coffee-junk sagte in Raspberry Shutdown aus Script:
@AlCalzone Ja, wenn der USV der Saft ausgeht, wird iobroker gestoppt und das System kontrolliert herunter gefahren.
Fragst du die USV mit dem Nut-Adapter ab, um dann mittels eines Skripts bei geringen Akkustand den ioBroker herunter zu fahren?
Genau! Das hat bei der alten Installation funktioniert!
-
@arteck sagte in Raspberry Shutdown aus Script:
sudo -H -u root shutdown -h 1
Bringt leider auch nichts.
-
@coffee-junk Habe es nun doch noch hingebracht, welche Änderung letztendlich ausschlaggebend war, weiss ich nicht, evt. spielt die Reihenfolge in den "sudoers" eine Rolle.
Herunterfahren per script mache ich jetzt so:
exec('sudo shutdown'); exec('sudo systemctl stop iobroker');
Die Datei im sudoers Verzeichnis habe ich nun umbenannt von custom_iobroker ->> iobroker_custom
In der iobroker_custom ist hinterlegt:
iobroker ALL=(ALL) NOPASSWD: /sbin/shutdown
Zwei mal getestet, läuft jetzt, warum genau weiß ich nicht, so nach dem Motto:
Der Laie staunt, der Fachmann wundert sich -
@coffee-junk Hast du meinen Vorschlag mal versucht,
shutdown -h now
OHNEsudo
und OHNE den manuellen iobroker-Stop auszuführen? Dann ist das rumfummeln an den sudoers-Dateien auch nicht nötig.Ich zitiere mich mal selbst:
shutdown -h now ist erlaubt (könnte man evtl auch ändern) und iobroker wird automatisch heruntergefahren, wenn du shutdown verwendest.
-
@AlCalzone sagte in Raspberry Shutdown aus Script:
@coffee-junk Hast du meinen Vorschlag mal versucht,
shutdown -h now
OHNEsudo
und OHNE den manuellen iobroker-Stop auszuführen? Dann ist das rumfummeln an den sudoers-Dateien auch nicht nötig.Autsch! Das "OHNE SUDO" hatte ich glatt überlesen! Geht!
Aber: Ums rumfummeln werde ich wohl nicht herum kommen, denn auch der RPI-Adapter hat mit den Zugriffsrtechten seine liebe Not, kann keinen Takt etc. auslesen.... mal sehen.... Danke!!
-
@coffee-junk sagte in [gelöst]Raspberry Shutdown aus Script:
denn auch der RPI-Adapter hat mit den Zugriffsrtechten seine liebe Not, kann keinen Takt etc. auslesen...
Das liegt aber soweit ich weiß daran, dass der echte Root-Rechte benötigt. Da scheint selbst passwordless sudo nicht zu reichen.