Skript in init.d beim Systemstart funktioniert nicht

Status
Für weitere Antworten geschlossen.

uwekronberg

Benutzer
Mitglied seit
15. Jul 2008
Beiträge
112
Punkte für Reaktionen
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 !!
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Lese ich da "Perl"?

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

MfG Matthieu
 

uwekronberg

Benutzer
Mitglied seit
15. Jul 2008
Beiträge
112
Punkte für Reaktionen
0
Punkte
16
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.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
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
 

uwekronberg

Benutzer
Mitglied seit
15. Jul 2008
Beiträge
112
Punkte für Reaktionen
0
Punkte
16
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?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
ist die Datei überhaupt ausführbar? (chomd +x)
 

uwekronberg

Benutzer
Mitglied seit
15. Jul 2008
Beiträge
112
Punkte für Reaktionen
0
Punkte
16
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