Hallo,[/code]
mit Hilfe des Forums habe ich mir ein Skript gebastelt, das händisch gestartet gut funktioniert.
Nun möchte ich dies automatisieren. Darum habe ich es entsprechend dem Autostart-Tutorial ergänzt, in den Ordner /etc/init.d/ gelegt sowie einen Sym-Link vom Ordner /etc/rc2.d/ darauf erzeugt. Das Skript gehört [root] mit den Rechten 777.
Danach folgenden Befehl ausgeführt:
Code
cd /etc/init.d
sudo update-rc.d rollo-web1.sh defaults
update-rc.d: using dependency based boot sequencing
insserv: warning: current start runlevel(s) (2) of script `rollo-web1.sh' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (empty) of script `rollo-web1.sh' overrides LSB defaults (0 1 6).
Trotz dieser Warnung machte ich einen Neustart und kann ich mich nicht mehr via Putty verbinden. Ich habe das Backup-Image eingespielt.
Das Skript sieht verkürzt so aus:
Bash
#!/bin/bash
#
### BEGIN INIT INFO
# Provides: rollo-web1.sh
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Skript zur Rollo-Steuerung via Weboberflaeche
# Description: Bechreibung
### END INIT INFO
#####################################
function run()
{
PID=$$
echo "PID: ${PID}"
echo "${PID}" > rollo.pid
cd /var/www/
while :;
do
################# Fenster 1 ######################
if [ -e f1h.asc ]
then
#echo "Fenster 1 hoch."
rm f1h.asc
$(sudo /home/pi/skripte/fhem/./f1h.sh)&
fi
sleep 1
done
}
################################################
################################################
function toeten()
{
if [ -e rollo.pid ]
then
echo "Beende rollo.sh mit PID: $(cat rollo.pid)"
kill $(cat rollo.pid)
rm rollo.pid
exit 0;
else
echo "Kann PID nicht lesen."
exit 1;
fi
}
################################################
function status
{
echo -n "PID-File: rollo.pid "
if [ -e rollo.pid ]
then
echo "vorhanden. $(cat rollo.pid)"
ps fauxww | grep $(cat rollo.pid) | grep -v grep
else
echo "nicht vorhanden. "
fi
}
################################################
################################################
case "$1" in
start)
run
;;
stop)
toeten
;;
status)
status
;;
esac
Alles anzeigen
Habe ich bei meinem Skript oder bei der Einbindung was falsch verstanden?