Quantcast
Channel: IP-Phone-Forum
Viewing all articles
Browse latest Browse all 15636

[Problem] Problem mit Skript, das via debug.cfg gestartet wird

$
0
0
Hallo zusammen

FB 7390, CH-Version mit aktuellem OS 05.51

Als Linux-Anfänger komme ich hier nicht weiter. In der debug.cfg lasse ich (nebst dnsspoofs, was problemlos läuft) ein weiteres Skript starten:

# cat /var/flash/debug.cfg
---
#dnsspoofs starten
/var/media/ftp/FRITZ/bin/dnsspoofs -f /var/media/ftp/FRITZ/bin/hosts.txt host 192.168.20.1&

#startup
/var/InternerSpeicher/FRITZ/startup/startup-run.sh &> /var/InternerSpeicher/FRITZ/debug.log
---

Im Skript möchte ich diverse Dinge unterbringen, vorläufig aber nur den reboot (habe Probleme damit, dass ein Softphone/VoIP auf einem Laptop mit der Zeit nicht mehr connecten kann, reboot der FRITZ bringt Abhilfe). Die Ausgabeumleitung nach debug.log soll der aktuellen Fehlersuche dienen, bleibt aber leer.

---
#!/bin/sh

#Startups protokolieren
sleep 120
# 120 Sekunden warten, date steht so früh noch nicht zur Verfügung
date +"%d.%m.%y - %T" >> /var/InternerSpeicher/FRITZ/startup/startup.log

#Zeitsteuerung
impact() {
local day=$((60*60*24))
sleep $(( ($(date -d $(date +%Y%m%d$1) +%s) - $(date +%s) + $day) % $day ))
echo "$(date +"%d.%m.%y - %T") -> $2" >> /var/InternerSpeicher/FRITZ/startup/impact.log
}

#terminierte Befehle
(impact 0530 Neustart; reboot) &
---

Nun läuft das Skript manuell ausgeführt ohne Probleme, "ps | grep sleep" zeigt mir den terminierten Befehl. Beim reboot erhalte ich den Eintrag im startup.log, d.h. startup-run.sh wird aufgerufen, aber impcat wird offenbar nicht ausgeführt oder aber vorzeitig wieder beendet.

Was ist hier falsch? Wonach muss ich suchen? Fehlt beim reboot ein gültiger, weiterlaufender "Elternprozess", da mir ps bei manueller Ausführung auch noch "{startup-run.sh} /bin/sh /var/InternerSpeicher/FRITZ" zeigt? Wie wäre das lösbar?


Edit: Jetzt verstehe ich noch weniger: dnsspoofs läuft ja nach einem reboot gar nicht mehr, wenn debug.cfg wie oben aussieht, hingegen sehr wohl bei

# cat /var/flash/debug.cfg
#dnsspoofs starten
/var/media/ftp/FRITZ/bin/dnsspoofs -f /var/media/ftp/FRITZ/bin/hosts.txt host 192.168.20.1&

Warum denn das, wenn doch bei obiger Version startup-run.sh ausgeführt wird, was der jeweilige Eintrag in startup.log beweist?

Danke und Grüsse

Felix

Viewing all articles
Browse latest Browse all 15636