Skript in init.d beim Systemstart funktioniert nicht

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

uwekronberg

Benutzer
Registriert
15. Juli 2008
Beiträge
112
Reaktionspunkte
0
Punkte
16
Hallo zusammen,

ich habe ein kleines Skript (ab)geschrieben:

cd /opt/lib/perl5/site_perl/
perl t4roku.pl &


,es S80rokuweather genannt und dann in das Verzeichnis /opt/etc/init.d kopiert. Manuell kann ich das Skript ausführen -es läuft.

Beim Systemstart wir es allerdings nicht ausgeführt.

Habe ich da irgendeinen Denkfehler? Ich dachte, dass die mit dem Buchstaben "S" beginnenden Datein als Skripte erkannt und dann anhand der folgenden Prioritätsnummer abgearbeitet werden.

In /var/log/messages sehe ich auch keine Anzeichen, dass das Skript ausgeführt wurde.

Hat da jemand eine Idee - bin leider nicht Linux-erfahren.

Vielen Dank im voraus !!
 
Lese ich da "Perl"?

Hast du das vorher installiert? Perl ist (aus gutem Grund) nicht standardmäßig möglich.

MfG Matthieu
 
Ja, Perl ist installiert. Die aufgerufenen Perl-Scripte bringen mir Wetterinformationen auf meine Roku Soundbridge. Das funktioniert auch alles. Nur der automatische Start des Perlskriptes beim Hochfahren der DS eben nicht.
 
Der Zusammenhang:

Die /etc/rc startet die /etc/rc.local ...

In der /etc/rc.local steht der Aufruf der /opt/etc/rc.optware

Rich (BBCode):
[ -x /opt/etc/rc.optware ] && /opt/etc/rc.optware

In der /opt/etc/rc.optware stehen die Aufrufe für die /opt/etc/init.d/S??*

Rich (BBCode):
for i in /opt/etc/init.d/S??* ;do

        # Ignore dangling symlinks (if any).
        [ ! -f "$i" ] && continue

        case "$i" in
           *.sh)
                # Source shell script for speed.
                (
                        trap - INT QUIT TSTP
                        set start
                        . $i
                )
                ;;
           *)
                # No sh extension, so fork subprocess.
                $i start
                ;;
        esac
done

Schau nach, ob was fehlt oder auskommentiert ist, sonst müsste es eigentlich gehen ...

Itari
 
Vielen Dank erstmal für die erhellenden Infos - jetzt kenne ich zumindest die Zusammenhänge.

Die rc.optware scheint OK zu sein. Eventuell könnte das Problem noch anderer Stelle liegen.

Das Skript erwartet anscheinend einen laufenden mt-daap server. Könnte es vielleicht sein, dass das Skript ausgeführt wird bevor der Server oben ist?
 
ist die Datei überhaupt ausführbar? (chomd +x)
 
Ja, das Skript ist ausführbar. Mit /opt/etc/init.d/S80rokuweather kann ich das Skript als root manuell ausführen. Das Perlprogramm sehe ich dann mit ps in der Prozessliste. Auf meiner RokU Soundbridge erscheint dann auch brav das aktuelle und das morgige Wetter.

Warum das Skript /opt/etc/init.d/S80rokuweather nicht automatisch beim Start der Synology ausgeführt wird ist mir weiterhin schleierhaft.
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat