rc.local Skript ausführen

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo,

    wie klappt folgender Eintrag in meiner rc.local nicht richtig?

    /bin/sh /home/pi/Skripte/shairport-steckdosen.sh

    oder
    /home/pi/Skripte/shairport-steckdosen.sh


    Er startet das Skript aber er führt die darin enthaltenen Befehle nicht aus.

    wenn ich

    /home/pi/Skripte/shairport-steckdosen.sh &

    als Nutzer starte gehts und meine Steckdosen funktionieren.

    wenns über die rc.local gestartet ist ist es wie ein Phantom-Prozess


    einer eine Idee wie genau ich Sachen in rc.local eintragen muss?

    ps. Ausführung ohne sudo ist richtig

  • Trag es halt genauso ein?

    Code
    /home/pi/Skripte/shairport-steckdosen.sh &

    VOR das exit am Ende der Datei /etc/rc.local


    Allerdings finde ich das nicht wirklich sinnvoll, ein Fehler in der rc.local und das System fährt nicht weiter hoch - oder wenn das Script kein exit-code zurück gibt, passiert sowas wie vermutlich dir nun passiert ist...

    Mach es lieber so wie es > hier < beschrieben wird ( @reboot )

  • Sind im Script relative Pfade angegeben ?
    rc.local wird als Root ausgeführt.
    Ein ~/xxx z.B. zeigt dann nichtmehr auf /home/pi/xxx sondern auf /root/xxx
    Poste mal dein Script sonst müssen alle in die Glaskugel schauen.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • anbei das Skript, er startet es ja und es steht sauber unter den prozessen, aber wirkkung hat es keine :-/

  • Ich finde das Script auch ein bischen komisch geschrieben ;)

    Die echo's machen kein Sinn wenn sie nach >/dev/null umgeleitet werden

    Und wieso nutzt du ssh um xbmc an bzw aus zu machen? Was hat xbmc mit schalten einer Steckdose zu tun? :-/


    anyway - benutz mal anstatt rc.local die crontab ... wichtig ist nämlich auch das du dieses Script in den Hintergrund schickst da es sich quasi nie beendet sondern permanent läuft, also wenn du unbedingt rc.local nutzen willst ist das & am Ende der Zeile aber vorallem ein exit code am ende des Script überlebenswichtig

    Und die echo's würd ich dann auch in ne logdatei schreiben damit du prüfen kannst ob das Script zumindest das täte was es tun sollte

    Ansonsten bitte deine komplette rc.local mal posten und auch die Rechte die diese Datei hat ( ls -la /etc/rc.local )


    Mal eine von mir veränderte Version deines Scripts, mit schreiben in ein LOGFILE sowie Option das LOGFILE nach einer bestimmten Grösse zu löschen...
    Achtung: Ungetestet ;)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!