/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) &
~
# 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
#
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.AndreasG2 schrieb:409 root 200 S sleep 44958
[...]
Kein Reboot. Verteht das jemand?
Ah, danke... Ist geändert.sascha schrieb:Nicht Restlaufzeit, Gesamtlaufzeit.
Dann muß er sich aber beeilen, wenn er das "reboot" noch in der Prozessliste sehen will...sascha schrieb:Wenn du willst, dass er sofort rebootet mußt du reboot eingeben.
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.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
(sleep 300; await 0230; reboot) &
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
AndreasG2 schrieb:Hi,
wolte nur eben mitteilen, dass jetzt klappert
Danke für die Hilfe!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
Lass mal das "EOF" weg!?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
RudatNet schrieb:Lass mal das "EOF" weg!?
#!/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) &
# write debug.cfg
cat /var/tmp/debug.cfg > /var/flash/debug.cfg
EOF gehört nicht in die debug.cfg, ich hab es versehentlich aus dem Pseudo-Update kopiert.
cat > /var/tmp/debug.cfg << 'EOF'