Hallo,
Nach dem Lesen dieses Thread habe ich versucht, auf meiner 219P+ ein Init- Skript zum Laufen zu bringen, dass wiederrum ein Perl-script zum Auslesen meiner Wetterstation startet. Leider funktioniert dies nicht zuverlässig, da das Auslesen nicht mit jedem Neustart des NAS gestartet wird. Die "Autorun.sh" im flash- Speicher habe ich aus dem Code aus dem ersten Beitrag übernommen. Mein Init-script lautet S99ws500 und schaut so aus:
#!/bin/sh
# PROVIDE: ws500_readout
# REQUIRE: DAEMON
# BEFORE: LOGIN
NAME="ws500_readout"
start()
{
/sbin/insmod /usr/local/modules/usbserial.ko
/sbin/insmod /usr/local/modules/ftdi_sio.ko vendor=0x18ef product=0xe004
/share/MD0_DATA/custom/weather/ws500.pl
echo "${NAME} started"
/sbin/log_tool -a "Starting ${NAME}" -t 0 -u SYSTEM -m LOCAL
}
stop()
{
killall ws500.pl
killall ws500.sh
echo "${NAME} stopped"
/sbin/log_tool -a "Shutting down ${NAME}" -t 0 -u SYSTEM -m LOCAL
}
# you do not need to edit this lines
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
# Restarting the Daemon
$0 stop
$0 start
;;
*)
## If no parameters are given, print which are avaiable.
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
Alles anzeigen
Das Laden der Kernel-Module ist sicherlich nicht ideal, allerdings habe ich bislang noch keine andere Lösung gefunden. Das Script funktioniert allein und im Zusammenspiel mit der autorun.sh beim manuellen Ausführen ohne Probleme. Beim Neustart des NAS wird aber nicht jedesmal der Dämon gestartet:
- Beim Kaltstart habe ich teilweise einen Erfolg.
- Beim Reboot nie
Wird das Script erfolgreich ausgeführt, dann steht nichts im Systemlog, dagegen wird beim reboot der gescheiterte Versuch mit der Meldung "Starting ws500_readout" angezeigt.
Hat jemand eine Idee, was ich falsch mache?
Gruß