FBF 7050 - Automatischer Neustart?

:grab:
DANKE!!! Ich probiers gleich heut Abend aus. Manchmal rentiert es die Brille gerade aufzusetzen...
 
Also, ich habs probiert:

Code:
/usr/sbin/telnetd -l /sbin/ar7login
await() {

 local day=$((60*60*24))

 sleep $(( ($(date -d $(date +%m%d$1%Y) +%s) - $(date +%s) + $day) % $day ))

 }

(await 0230; reboot) &



~
Ergebnis:

Code:
# ps
  PID  Uid     VmSize Stat Command
    1 root        332 S   init
    2 root            SW  [keventd]
    3 root            SWN [ksoftirqd_CPU0]
    4 root            SW  [kswapd]
    5 root            SW  [bdflush]
    6 root            SW  [kupdated]
    7 root            SW  [mtdblockd]
    8 root            SW  [tffsd_mtd3]
  241 root        228 S   ledcfg -c -d -f /etc/Fritz_Box_7050.led.conf
  281 root            SW  [ubik2_tx[8]]
  282 root            SW  [capitransp]
  286 root            SW< [kdsld]
  313 root       1808 S N ctlmgr
  330 root        484 S   wpa_authenticator
  340 root       1176 S N websrv
  344 root       1408 S   igdd
  351 root       1252 S   multid
  362 root       1456 S   dsld -i -n
  374 root        776 S   telefon a127.0.0.1
  378 root       1176 S N websrv
  379 root       1176 S N websrv
  380 root       1176 S N websrv
  386 root       1848 S < voipd
  389 root        800 S   capiotcp_server -p5031 -m4
  392 root        192 S   /bin/run_clock -c /dev/tffs/mtd3 -d
  402 root        256 S   /usr/sbin/telnetd -l /sbin/ar7login
  403 root        388 S   /bin/sh /etc/init.d/rc.S
  406 root        328 S   init
  409 root        200 S   sleep 44958
  410 root       1408 S   igdd
  411 root       1408 S   igdd
  412 root       1408 S   igdd
  416 root        412 S   -sh
  493 root        296 R   ps
#

Kein Reboot. Verteht das jemand? :toilet:

Edit wichard: Code-Tags eingefügt
 
AndreasG2 schrieb:
409 root 200 S sleep 44958
[...]
Kein Reboot. Verteht das jemand?
Es steht ein "sleep" in der Prozessliste mit einer [s:591acfbc0d]"Restlaufzeit"[/s:591acfbc0d] von 44958 Sekunden = 12,5 Stunden. [s:591acfbc0d]In[/s:591acfbc0d] Nach 12,5 Stunden sollte die Box also neu starten.


Gruß,
Wichard

Edit: Bitte solche längeren Logs oder Bildschirmausgaben etc. in Code-Tags packen. (Ich habe das gerade mal für Dich gemacht, aber für die Zukunft bitte selbst dran denken.) Danke!
 
@wichard:
Nicht Restlaufzeit, Gesamtlaufzeit. Habe es grad getestet.
Wann dieser sleep endet hängt also davon ab, wann er gestartet wurde. Das dürfte gegen 10.00 Uhr gewesen sein, wenn die Formel stimmt.
Fest steht, dass er noch läuft ;)
[hr:06f22abd14]
@AndreasG2:
Wenn du willst, dass er sofort rebootet mußt du reboot eingeben. :twisted:

Hth Sascha
 
sascha schrieb:
Nicht Restlaufzeit, Gesamtlaufzeit.
Ah, danke... Ist geändert.

sascha schrieb:
Wenn du willst, dass er sofort rebootet mußt du reboot eingeben.
Dann muß er sich aber beeilen, wenn er das "reboot" noch in der Prozessliste sehen will... ;)

Gruß,
Wichard
 
Wenn ich gestern gegen 23.30 Uhr mit der geänderten debug.cfg einen reboot gemacht hab, hätte die Box dann nicht heute gegen 2.30Uhr rebooten müssen oder hab ich den Sinn des Scripts falsch verstanden?

PS.: Sorry Wichard, werde mich bemühen!
 
AndreasG2 schrieb:
Wenn ich gestern gegen 23.30 Uhr mit der geänderten debug.cfg einen reboot gemacht hab, hätte die Box dann nicht heute gegen 2.30Uhr rebooten müssen
Dein Problem könnte sein, dass zum Zeitpunkt, an dem das await() ausgeführt wird, die Uhrzeit noch nicht stimmt (die muss sich die Box erst von einem Zeitserver holen). Dann geht natürlich auch die Berechnung, wie weit es (in Sekunden) bis 2:30 Uhr ist, in die Hose.

Du könntest sowas probieren: (also 5 Minuten warten, bevor die Berechnung gemacht wird):
Code:
(sleep 300; await 0230; reboot) &
 
Hi,
wolte nur eben mitteilen, dass jetzt klappert :p
Code:
FRITZ!Box Einstellungsübersicht vom 09.12.2005 00:01 Uhr 
Produktname  FRITZ!Box Fon WLAN 7050  
Firmware-Version 14.03.89 
WLAN nicht aktiv 
Nachtschaltung aktiv 
Letzter Neustart 08.12.2005 02:30 Uhr
Danke für die Hilfe!
 
Halli-Hallo,

nachdem mir Andreas sehr gut geholfen hat, das Script auf meiner Box auch zum laufen zu bringen, habe ich letzte Woche einen Fehler entdeckt:

Wenn der Rechner mal eine Nacht lang an war (die Box also einen Ping erfolgreich durchführen konnte), klappt der automtische Neustart in den folgenden Nächten nicht mehr.
Erst, wenn ich die Box manuell wieder neu starte, funktioniert das Script wieder.

Bleibt der PC dann wieder eine Nacht über an, funktioniert es wieder so lange nicht, bis ich die Box wieder manuell neu gestartet habe.

usw...

Kann das jemand bestätigen - wenn ja, wie kann man das beheben?

Gruß,
Matze
 
Hi,

ich hab probiert das Neustart-Script an ein auf Evil Deads HP selbst erstelltes Pseudo-Image anzuhängen ( per Einfügen eigenen Codes an das Ende der 'debug.cfg' ).
Leider funktioniert dies nicht. Obwohl am Ende der debug.cfg der Code zu finden ist:

await() {
local day=$((60*60*24))
sleep $(( ($(date -d $(date +%m%d$1%Y) +%s) - $(date +%s) + $day) % $day ))
}
(sleep 600; await 0437; reboot) &

EOF

aber der Befehl "ps" per telnet in der FBF zeigt keinen laufenden sleep Prozess an.
Außer die Wartezeit von sleep habe ich nichts am Script geändert.

Muss das Neustart-Script an eine höhere Stelle in der debug.cfg?

Hat schon jemand das Script per Firmwareupdate installiert ?
Erscheint mir sicherer und da ich das auch für andere machen soll schlicht schneller als per nvi.


MfG Max
 
AndreasG2 schrieb:
Hi,
wolte nur eben mitteilen, dass jetzt klappert :p
Code:
FRITZ!Box Einstellungsübersicht vom 09.12.2005 00:01 Uhr 
Produktname  FRITZ!Box Fon WLAN 7050  
Firmware-Version 14.03.89 
WLAN nicht aktiv 
Nachtschaltung aktiv 
Letzter Neustart 08.12.2005 02:30 Uhr
Danke für die Hilfe!

Hallo AndreasG2!

Da es ja bei Dir geklappt hat, schreibe doch aml bitte genau wie. Habe auch die Zeilen in die debug.cfg geschrieben. Doch auch ohne Erfolg. :-(
 
MaxPowers schrieb:
...
Leider funktioniert dies nicht. Obwohl am Ende der debug.cfg der Code zu finden ist:

await() {
local day=$((60*60*24))
sleep $(( ($(date -d $(date +%m%d$1%Y) +%s) - $(date +%s) + $day) % $day ))
}
(sleep 600; await 0437; reboot) &

EOF
Lass mal das "EOF" weg!?

Was hast du denn noch so davor in der debug.cfg?
 
RudatNet schrieb:
Lass mal das "EOF" weg!?

Bloß das "EOF" schreibt es von alleine in die debug.cfg, wenn man es über das Pseudoimage dranhängt.
 
@ RudatNet:
hast Recht: EOF gehört nicht in die debug.cfg, ich hab es versehentlich aus dem Pseudo-Update kopiert.
Hier meine komplette debug.cfg (wie vorher aus dem Pseudo-Update entnommen):
Code:
#!/bin/sh

cat > /var/tmp/debug.cfg << 'EOF'
#!/bin/sh



# start telnet deamon with password of web gui
/usr/sbin/telnetd -l /sbin/ar7login

# enable ENUM
sed "s/avme/avm/g" /usr/www/all/html/de/fon/sipoptionen.html > /var/tmp/sipoptionen.html
sed "s/avme/avm/g" /usr/www/all/html/de/fon/sipoptionen.js > /var/tmp/sipoptionen.js
chmod 444 /var/tmp/sipoptionen.html
chmod 444 /var/tmp/sipoptionen.js
mount -o bind /var/tmp/sipoptionen.html /usr/www/all/html/de/fon/sipoptionen.html
mount -o bind /var/tmp/sipoptionen.js /usr/www/all/html/de/fon/sipoptionen.js

# set hostname to fritz.box
hostname fritz.box

# write contact list
echo ":anonym;" > /var/tmp/contacts

# write lines list
echo ":anonym;" > /var/tmp/lines

# write send script to file
cat > /var/tmp/callmessage.sh << 'ENDCALLMESSAGE'
#!/bin/sh

# init var name
name=""

# read params
caller=$2
called=$1

#read contact list
while read contact
do
  case ${contact} in
    ${caller}*)
      name=${contact#*:}
      name=${name%%\;*}
      break
    ;;
  esac
done < /var/tmp/contacts

# name not found?
if [ -z "${name}" ]
then
  name=${caller}
fi
httpname=`echo "${name}" | sed -e '{s/ /%20/g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;}'`

#init var theline
theline=""

#read lines list
while read thelines
do
  case ${thelines} in
    ${called}*)
      theline=${thelines#*:}
      theline=${theline%%\;*}
      break
    ;;
  esac
done < /var/tmp/lines

# line not found?
if [ -z "${theline}" ]
then
  theline=${called}
fi
httptheline=`echo "${theline}" | sed -e '{s/ /%20/g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;}'`

# send information to PCs
wget -O /dev/null "http://192.168.1.14:23232/?caller=${caller}&called=${called}&name=${name}&line=${theline}" >/dev/null 2>&1 &
wget -O /dev/null "http://192.168.1.13:23232/?caller=${caller}&called=${called}&name=${name}&line=${theline}" >/dev/null 2>&1 &
wget -O /dev/null "http://192.168.1.10:23232/?caller=${caller}&called=${called}&name=${name}&line=${theline}" >/dev/null 2>&1 &

ENDCALLMESSAGE

# make it executable
chmod +x /var/tmp/callmessage.sh

# write parse_telefon script to file
cat > /var/tmp/parse_telefon.sh << 'ENDPARSETEL'
#!/bin/sh

trap "" SIGCHLD

prefix=
caller=""
called=""

# stdin: output of telefon daemon expected
while read line
do
  case ${line} in
    *IncomingCall:*)
      caller=${line#*caller: \"}
      caller=${caller%%\"*}
      called=${line#*called: \"}
      called=${called%%\"*}
      # normalize caller
      case ${caller} in
        0049*)
          caller=0${caller#*0049}
        ;;
        49????????*)
          caller=0${caller#*49}
        ;;
        [1-9]????????*)
          caller=0${caller}
        ;;
        [1-9]*)
          caller=${prefix}${caller}
        ;;
      esac
      # exec woc.sh
      /var/tmp/woc.sh ${called} ${caller} &
      # exec callmessage.sh
      /var/tmp/callmessage.sh ${called} ${caller} &
    ;;
  esac
done

ENDPARSETEL

# make it executable
chmod +x /var/tmp/parse_telefon.sh

# wait
sleep 3
# restart telefon daemon piping its output into telefon_parse.sh
if [ -x /var/tmp/parse_telefon.sh ]
then
  # stop telefon daemon safely
  killall -15 telefon
  sleep 3
  killall -9 telefon
  rm -f /var/run/telefon.pid
  sleep 3
  telefon 1 a127.0.0.1 | /var/tmp/parse_telefon.sh &
fi

# write dummy WakeOnCall script
echo "#!/bin/sh" > /var/tmp/woc.sh
make it executable
chmod +x /var/tmp/woc.sh

await() {
  local day=$((60*60*24))
  sleep $(( ($(date -d $(date +%m%d$1%Y) +%s) - $(date +%s) + $day) % $day ))
}
(sleep 600; await 0437; reboot) &

An welche Position muss das Neustart-Script ? In einem früheren Beitrag stand besser nicht an den Anfang. Also hab ichs ans Ende gepackt.

Bei meinem Glück fügt Evil Dead das Script einen Tag nachdem es bei mir funktioniert seinem Pseudo-Update bei ;-)


MfG Max
 
OK, bei deiner debug.cfg gehört das "EOF" doch rein!

Nur das Reboot-Script gehört hinter das "EOF" ans Ende.
 
@RudatNet: EOF steht nirgends in meiner debug.cfg !!!
Es befindet sich nur im Pseudo-Update und darauf folgt:
Code:
# write debug.cfg
cat /var/tmp/debug.cfg > /var/flash/debug.cfg
usw. Also wird dort schon die debug.cfg abgeschlossen.

EOF heisst doch "End of File" Oder? Welchen Sinn hat es dahinter noch Code bzw EOF überhaupt in die debug.cfg zu packen.

Langsam versteh ich nur noch Bahnhof :confused:

MfG Max
 
Jetzt verwirrst du mich aber ein wenig!

Warum postest du dann oben "Hier meine komplette debug.cfg ..."
... wenn es gar nicht die debug.cfg ist!?

Ok, egal!

Das Reboot-Script kommt der Einfachheit halber ans Ende der debug.cfg!
Und "ans Ende" bedeutet auch "ans Ende"!

Und ich rede hier jetzt auch von der debug.cfg,
und nicht von irgendeinem Pseudo-Script!

;)
 
Danke,

Script steht die ganze Zeit am Ende der debug.cfg :p

Es funktioniert aber nicht !

Ich hab doch geschrieben:
EOF gehört nicht in die debug.cfg, ich hab es versehentlich aus dem Pseudo-Update kopiert.

MfG Max
 
Dann poste doch bitte mal deine "genaue" kopmlette debug.cfg.

Bei dem,was du oben gepostet hast, gehört das eigentlich EOF rein!

Nach:
Code:
cat > /var/tmp/debug.cfg << 'EOF'
... muß irgendwann auch das "EOF" folgen!

:noidea:
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.