Start/Stop Skripte

  • 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.

Delgado

Benutzer
Registriert
21. Dez. 2012
Beiträge
164
Reaktionspunkte
0
Punkte
22
Hallo,

ich benötige mal wieder Hilfe von einem Syno-Experten :).

Ich habe miniDLNA installiert über das IPKG. Es läuft auch super, alles gut.

Jetzt wollte ich mir ein passendes Start/Stop Skript dafür schreiben und kriege langsam einen Rappel.
Führe ich das Skript von der Konsole aus mit

sh /opt/etc/init.d/S98minidlna.sh start

startet minidlna korrekt. Stoppen geht auch einwandfrei.
Mache ich das gleiche mit dem optware-startskript. Der Aufruf ist dann so

sh /usr/local/etc/rc.d/optware.sh start

dann ist auch alles ok. minidlna startet und stoppt, so wie es sein soll.

Wenn ich aber die DS über den DSM-Manager neustarte, dann wird minidlna nicht geladen. Das optware Startskript wird aber ausgeführt, da Pyload einwandfrei startet.

Das sind die einzigen beiden Dateien (S98minidlna.sh und S99pyload.sh) , die sich im Ordner /opt/etc/init.d/ befinden. Ich sehe den Fehler noch nicht, oder bin schon betriebsblind. Hat von Euch jmd. eine Idee?

Ich poste hier mal das S98minidlna.sh Skript.

#!/bin/sh
#
# Start / Stop Script for miniDLNA
#
MINIDLNA=/volume1/@optware/sbin/minidlna
PIDFILE=/var/run/minidlna.pid
CONF=/volume1/@optware/etc/minidlna.conf
NAME="miniDLNA"

#
daemon_status () {
[ -f $PIDFILE ] && [ -d /proc/`cat $PIDFILE` ]
}
#
start() {
echo "Starting Service: $NAME"
$MINIDLNA -f $CONF
counter=10
while [ $counter -gt 0 ]
do
daemon_status && break
let counter=counter-1
sleep 1
done
}
#
stop() {
kill `cat ${PIDFILE}`
counter=10
while [ $counter -gt 0 ]
do
daemon_status || break
let counter=counter-1
sleep 1
done
if daemon_status
then
killall -9 minidlna 2> /dev/null
fi
echo "Stopping Service: $NAME"
}
#
update_db() {
$MINIDLNA -f $CONFIG -R
counter=5
while [ $counter -gt 0 ]
do
daemon_status && break
let counter=counter-1
sleep 1
done
}
#
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 4
start
;;
status)
if daemon_status
then
echo Running
else
echo Not running
fi
;;
reload)
stop
sleep 4
update_db
;;
*)
echo "Usage: $0 (start|stop|restart|status|reload)"
exit 1
;;
esac
#
# End

Wenn jemand eine Idee hätte, wäre super, ich bin für jede Hilfe dankbar.

Grüsse
Dirk
 
Zuletzt bearbeitet:
Hat niemand eine Idee :(?
Gibt es eine Möglichkeit, den Bootvorgang der DS detailliert mit zu loggen? oder passiert das bereits irgendwo?
 
kannst du es denn auch ohne vorangestelltest sh auf der Konsole starten? Wenn nein, dann dürfte das File nicht ausführbar sein (chmod +x)
 
Hallo jahlives,
nein, und ich weiss auch nicht warum. Die Datei ist ausführbar, also mit chmod +x fn auf der Konsole ausführbar gemacht.
Aber, und das wundert mich auch, ich muss sh vorne anstellen. Könnte da das Problem bereits liegen?
Allerdings startet pyload nach einem Reboot aus dem DSM korrekt. Das hat die gleichen Dateiattribute wie mein miniDLNA Startskript.
Ich verstehs noch nicht..
 
wenn du sh brauchst liegt es afaik fast immer daran, dass die Datei ned ausführbar ist. Hast du die Rechte mit ls -al geprüft?
 
wenn du sh brauchst liegt es afaik fast immer daran, dass die Datei ned ausführbar ist. Hast du die Rechte mit ls -al geprüft?

Ja, habe ich gemacht. Sieht normal aus. Ich habe festgestellt, das der Aufruf auch ohne sh geht, wenn ich es so aufrufe

./S98minidlna.sh start

Muss der Shell den aktuellen Pfad mitteilen, warum auch immer. Ich dachte, die Shell schaut immer zuerst im aktuellen Pfad nach ??? Jedenfalls geht alles, wenn ich es manuell starte, nur nicht beim Reboot. Ich schnall es im Augenblick nicht, warum. Pyload wird auch aus diesen Ordner heraus gestartet, hat ein eigenes Start/Stop Skript und das klappt problemlos.

EDIT: Habe die PATH-Variable erweitert i.d. profile Datei im Home Verzeichnis. Dann gehts auch ohne './'. Linux Anfänger halt :)
 
Zuletzt bearbeitet:
Hallo Delgado,

hat es letztlich geklappt mit dem Autostart von miniDLNA?


cu
jgb
 
Nein, leider nicht. Habe auch nicht mehr weiter geforscht.
Ich starte es manuell, zum Glück führe ich relativ selten einen Reboot durch.

Dennoch wäre ich für jeden Tipp dankbar.
 
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