[Request] Timer um Dbox neuzustarten

Wünsche, Anträge, Fehlermeldungen
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

[Request] Timer um Dbox neuzustarten

Beitrag von PT-1 »

Hi,

mir stuertzt die Dbox ab und zu ab weil meine kleine auf KiKa schaltet und wenn diese Sendeschluss haben mag das die Box nach einer Weile nicht mehr.

Gibt es die moeglichkeit (JtG 12.02.2007) etwas aehnliches wie CRON zu haben und einen taeglichen reboot zu veranlassen ..?

Gleichzeitig koennte ich das schoen eventuell mit EPG fuer BBC (28.2 BskyB) verknuepfen.

Bitte nicht schlagen wenn es dieses schon gibt aber ich habe den Timer noch nie fuer etwas anderes als Aufnahmen verwendet

Gruss

PT-1
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Was würde Dir ein Reboot nutzen wenn sich die Box aufgehängt hat?!

Per Plugin könnte man ja ein Reboot Script anschubsen, aber ich kann momentan keinen Sinn darin sehen. Hast Du die Box denn rund um die Uhr eingeschaltet? Wenn ja, warum?

Gruß Gorcon
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Box ist immer an (faulheit ...) und sie haengt ja nicht 100%

Reboot via cron oder timer waere eben schoen.

Z.B. auch zum automatischen einsortieren von neuen Sendern und das kann eben schoen ueber Nacht passieren
Regloh
Semiprofi
Semiprofi
Beiträge: 1470
Registriert: Donnerstag 14. März 2002, 07:14

Beitrag von Regloh »

ich hatte mir damals ein skript erstellt, was die box einfach rebootet hat.
im neutrino timer kann man nen timer mit täglicher wiederholung setzen und dort als timertyp plugin ausführen (in dem fall skript). fertig
die box rebootete jeden tag um 3 uhr.
ergo, geht schon ewigkeiten. :)
Regloh

PS: und die hohe schule waren dann noch ein paar zaptimer hinten dran. schon war auch der epg wieder da. :)
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

@Regloh

Bitte mehr details ;-)

Oder link zu dem script ;-)
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

;)

Ich hab das so gelöst:

Timer - Shutdown : 5:00Uhr
Timer - Umschalten: 5:10 Uhr > Sender 1
Timer - Umschalten: 5:15 Uhr > Sender 2
Timer - Umschalten: 5:20 Uhr > Sender 3
...

So hab ich um 6:00Uhr eine frische Box, die alle EPGs auf den von mir genutzten Sendern hat.

cu
Jens
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Dann musst Du aber auch die zapit schreibgeschützt machen damit dann nicht wieder KiKa angewählt wird, denn sonst hängt die Box wieder. ;)

Ein reboot Plugin gibt es wie gesagt.
das Script ist dabei denkbar einfach:

Code: Alles auswählen

#!/bin/sh 
reboot 
Dazu noch eine Shellstarter.so und Du hast Dein Plugin das sich per Timer auswählen lässt. ;)

Gruß Gorcon
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Gorcon hat geschrieben:Dann musst Du aber auch die zapit schreibgeschützt machen damit dann nicht wieder KiKa angewählt wird, denn sonst hängt die Box wieder. ;)

Ein reboot Plugin gibt es wie gesagt.
das Script ist dabei denkbar einfach:

Code: Alles auswählen

#!/bin/sh 
reboot 
Dazu noch eine Shellstarter.so und Du hast Dein Plugin das sich per Timer auswählen lässt. ;)

Gruß Gorcon
Der Shellstarter ist gar nicht notwendig, frisst nur unnötig Platz.
reboot.sh

Code: Alles auswählen

#!/bin/sh 
reboot 
Dazu noch eine passende Datei namens reboot.cfg erstellen mit folgendem Inhalt:

Code: Alles auswählen

type=3
name=Reboot
desc=Dbox rebooten
needfb=0
needrc=0
needvtxtpid=0
needoffsets=0
Beide Dateien nach /var/tuxbox/plugins/ kopieren, der Datei reboot.sh Ausführrechte (755) verpassen, Plugins neu laden bzw. Box neu starten und fertig ist die Laube.

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Stimmt, wird dann ja bei Scripte abgelegt. 8)

Gruß Gorcon
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Hi,

jetzt muss ich das doch nochmal hochholen ...

Ist das dann ein korrekter Reboot der Box der dann auch EPG auf die Platte/bzw Share schieben wuerde oder nicht ..?

Oder waere das hier ok:
http://forum.tuxbox-cvs.sourceforge.net ... 2&start=30

Code: Alles auswählen

#!/bin/sh
kill $( cat /tmp/tuxmaild )
killall controld

N=0 
while [ $N -lt 10 ]; do
  pidof tuxmaild && echo "waiting for tuxmaild to shut down"
  pidof controld && echo "waiting for controld to shut down"
  N=$( expr $N + 1 )
done
pidof tuxmaild && killall -9 tuxmaild
pidof controld && killall -9 controld
killall start_neutrino 
killall neutrino
killall sectionsd 
killall camd2
killall zapit
killall nhttpd
reboot
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

ich denk mal das ist gar nicht nötig. Wenn Du killall -3 neutrino (Quit) machst wird ja die Start_neutrino bis zum Schluß ausgeführt und die Box heruntergefahren. Die -3 ist IMO der "softeste" Ausstieg

man:kill
Some of the more commonly used signals:
1 HUP (hang up)
2 INT (interrupt)
3 QUIT (quit)
6 ABRT (abort)
9 KILL (non-catchable, non-ignorable kill)
14 ALRM (alarm clock)
15 TERM (software termination signal)
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

also meine reboot.sh

Code: Alles auswählen

#!/bin/sh 
killall -3 neutrino 
:gruebel:
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

PT-1 hat geschrieben:also meine reboot.sh

Code: Alles auswählen

#!/bin/sh 
killall -3 neutrino 
:gruebel:
oops du wolltest rebooten :oops:

Aber auch kein Problem

Code: Alles auswählen

#!/bin/sh
touch /var/etc/.reboot (evtl. geht auch /tmp) 
killall -3 neutrino 
und in die start_neutrino irgendwo am ende ein

Code: Alles auswählen

if [ -e /var/etc/.reboot ]; then 
  rm /var/etc/.reboot 
  reboot
else
  shutdown
fi;  
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Jetzt muss ich das nochmal hochbringen ...

Ende meiner start_neutrino

Code: Alles auswählen

i=99
while expr $i != 0 > /dev/null; do
 if pidof controld > /dev/null; then echo "Waiting for controld (max. $i seconds)"
 elif pidof timerd > /dev/null; then echo "Waiting for timerd (max. $i seconds)"
 elif pidof zapit > /dev/null; then echo "Waiting for zapit (max. $i seconds)"
 else break;
 fi
 i=`expr $i - 1`
 sleep 1
done

if [ -e /var/etc/.reboot ]; then 
  rm /var/etc/.reboot 
  reboot 
else 
  shutdown 
fi; 

exit 0

/var/tuxbox/plugins


reboot.sh

Code: Alles auswählen

#!/bin/sh
touch /var/etc/.reboot
killall -3 neutrino
reboot.cfg

Code: Alles auswählen

type=3
name=Reboot
desc=Reboot Dbox
needfb=0
needrc=0
needvtxtpid=0
needoffsets=0
Es scheint zu funktionieren ;-)

Danke !

PS: Koennt man das eventuell ins CVS einbauen ?
Gerade weil der sectionsdscan ja super funktioniert und schoen Bouquets & services baut.
nitr8
Einsteiger
Einsteiger
Beiträge: 102
Registriert: Freitag 29. Dezember 2006, 10:44

Beitrag von nitr8 »

ok all you need is the following:

add the following to start_neutrino

Code: Alles auswählen

if [ -e /tmp/.reboot ] ; then
    reboot
else
    halt
fi
/var/tuxbox/plugins/reboot.sh

Code: Alles auswählen

#!/bin/sh

touch /var/etc/.reboot
killall -HUP neutrino
exit 0
/var/tuxbox/plugins/reboot.cfg

Code: Alles auswählen

type=3
name=Reboot
desc=Reboot D-Dox
needfb=0
needrc=0
needvtxtpid=0
needoffsets=0
--me
PizzaPicante
Interessierter
Interessierter
Beiträge: 28
Registriert: Mittwoch 12. Juli 2006, 05:02

Beitrag von PizzaPicante »

Hi,

in bezug auf die eigentliche Problematik,
wäre ein täglicher Umschalttimer um 21:00 nicht die einfachste Lösung ?

CU
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Dann werden aber auch nicht die currentbouquets & services neu eingelesen
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: [Request] Timer um Dbox neuzustarten

Beitrag von PT-1 »

Um das ganze nochmal aufzuwaermen ;-)

Habe mir ein Plugin namens reboot.cfg & reboot.sh gemacht.

Inhalt reboot.sh:

Code: Alles auswählen

#!/bin/sh 
reboot -f
Reboot.cfg

Code: Alles auswählen

type=3
name=Reboot
desc=Dbox rebooten
needfb=0
needrc=0
needvtxtpid=0
needoffsets=0
Es scheint aber nichts zu machen wenn ich dies mit dem Timer setze .. Muss mal den Laptop dranhaengen und sehen was auf der seriellen rauskommt...

Waere es denn wirklich so schwierig zum Timer Herunterfahrem & Starten einen reboot Timer als 3te option einzufuegen ?
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: [Request] Timer um Dbox neuzustarten

Beitrag von PT-1 »

OK,

mein Fehler lag im benutzen eines nicht linux Konformen Editors ...

habe es jetzt aber anders geloest ;-)

Inhalt der reboot.sh

Code: Alles auswählen

#!/bin/sh
wget http://127.0.0.1/control/reboot
Und dann funktioniert es ;-)
ingrid
Erleuchteter
Erleuchteter
Beiträge: 600
Registriert: Samstag 14. Oktober 2006, 10:53

Re: [Request] Timer um Dbox neuzustarten

Beitrag von ingrid »

Das ist aber wirklich "von hinten durch die Brust ins Auge geschossen". :lol:

Nachteil: Läuft der nhttpd mal nicht (z.B. weil er abgestürzt ist) ist da nix mehr mit reboot. Das Script weiter oben wäre besser... :gruebel:
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: [Request] Timer um Dbox neuzustarten

Beitrag von PT-1 »

es muesste ja "nur" ein Dev dies fest als Moeglichkeit fuer einen Timer einbauen .... :D
Skymosk
Neugieriger
Neugieriger
Beiträge: 10
Registriert: Montag 8. November 2004, 00:47

Re: [Request] Timer um Dbox neuzustarten

Beitrag von Skymosk »

Irgendwie klappt es nicht.

/var/tuxbox/plugins/reboot.sh

Code: Alles auswählen

#!/bin/sh 
touch /tmp/.reboot
killall -HUP neutrino
exit 0
/var/etc/init.d/start.local (bereits drin)

Code: Alles auswählen

if [ -e /tmp/.reboot ] ; then
	reboot
else
	halt
fi
Es wird immer nur neutrino neu gestartet, aber nicht gebootet. Gebe ich das von Hand ein kommt:

Code: Alles auswählen

killall: cannot kill pid 793: No such process
Kann das damit zusammenhängen?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: [Request] Timer um Dbox neuzustarten

Beitrag von seife »

Wenn du neutrino killst, dann beendet es sich nicht mit returncode 0, darum wird es neu gestartet.
Aber jetzt wo du es sagst, ein Handler für SIGHUP wäre was praktisches ;-)
Skymosk
Neugieriger
Neugieriger
Beiträge: 10
Registriert: Montag 8. November 2004, 00:47

Re: [Request] Timer um Dbox neuzustarten

Beitrag von Skymosk »

Wie kann ich neutrino sauber beenden, um ein funktionierendes reboot-Script zu bekommen?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: [Request] Timer um Dbox neuzustarten

Beitrag von seife »

- einen SIGHUP-Handler einbauen
- mit rcsim die Power-Taste so lange drücken, dass die Box runterfährt ;)