Habe da mal wieder was gebastelt, weil mich das interessiert hat, ob es so machbar ist.
Hintergrund: steigt ein einzelner Reader aus, bemerkt das der WD nicht und somit passiert nix.
Hier kann man festlegen, welcher Reader abgefragt werden soll und ihn auch einzeln rebooten.
Grundlage ist ein aufgebohrtes Script, welches ich anderweitig schonmal in Verwendung hatte.
Es war dafür gedacht, per Cron auch andere Zustände anzufragen, die der WD nicht abdeckt.
Der WD fragt nämlich nur ab, ob oscan läuft.
Er fragt nicht ab, ob irgendwelche Error oder Timeout oder andere Fehler im Log stehen.
Somit kann man das Script umstricken und für die Erkennung unterschiedlichster Fehler einsetzen.
Vorraussetzung ist nicht unbedingt IPC, geht auch ohne das. Aber es muß ein Log gespeichert werden.
Standart ist nämlich nur stdout.
Rot markiert habe ich das, wo die Abfrage auf den Fehler kommt.
Blau ist anzupassen, weil die Pfade/ Namen unterschiedlich sein können.
Code:
#!/bin/sh
if grep -w -n [COLOR=#ff0000]added[/COLOR] [COLOR=#0000ff]/var/log/ipc/OScam.log[/COLOR]
then ps -ef | grep "[COLOR=#0000ff]oscam.armel[/COLOR]" | awk '{print $2}' | xargs kill
wait 50
[COLOR=#0000ff]/var/emu/oscam/oscam.armel [/COLOR]-b
fi
Soweit ist es nur das bekannte Script.
Nun kommt die Änderung, die den einzelnen Reader abfragt und rebootet, wenn dort ein Fehler auftritt.
Damit das aber funktioniert, darf kein Username in httpuser eingetragen sein, httppass muß eingetragen sein.
Warum das so ist, weiß ich noch nicht. Ist ein Username drin, kommt Acces denied.
Unten ist die einzige Kombination, welche bei mir funktioniert hat.
Code:
if grep -w -n [COLOR=#ff0000]getting [/COLOR][COLOR=#0000ff]/var/log/ipc/OScam.log[/COLOR]
then wget --password= '[COLOR=#0000ff]mypass[/COLOR]' --post-data 'action=restart&label=[COLOR=#ff0000]hd02[/COLOR]' [URL]https://192.168.78.39:16002/status.html[/URL]
wait 50
[COLOR=#006400]date >> /var/log/errors.txt[/COLOR]
[COLOR=#0000ff]# /var/emu/oscam/oscam.armel [/COLOR]-b
fi
Nun kann man noch eine extra Datei anlegen, wo solche Reboots eingetragen werden.
Das wäre der grüne Teil, wo der Timestamp in diese Datei geschrieben wird.
Wenn jemand Fehler findet oder Fragen hat, bitte melden.
Läuft auf meinem Pogo sauber und funktioniert.
AW: Einzelnen Reader abfragen und bei Bedarf starten, ein Script
Das root mußte ich in den Cron reinmachen, weil das auf meinem Pogo ( dort IPC ) läuft und der Job ohne das nicht ausgeführt wurde.
Wenn Du alle 3 Reader in einem Script anlegst, wird es auch immer alle Reader rebooten.
Richtiger wäre, pro Reader ein Script, dafür dann den Cron auch 3x anlegen.
AW: Einzelnen Reader abfragen und bei Bedarf starten, ein Script
5 Karten? Oder 5 Reader ?
Ob das so einfach aufgeteilt werden kann, habe ich nie probiert.
Es müßte für jeden "Fall" ein eigenes Script gebaut und im Cron aufgerufen werden.
Dabei muß man aber die Abfrage auf die einzelnen Reader spezifizieren.
Da habe ich noch nix gemacht.
AW: Einzelnen Reader abfragen und bei Bedarf starten, ein Script
Hallo Leute,
mich interessiert die Thematik auch, da sporadisch der Reader bei mir off ist und oscam neu gestartet werden muss. Funktioniert das Skript so wie es soll?
Vielen Dank.
AW: Einzelnen Reader abfragen und bei Bedarf starten, ein Script
Hier habe ich das mit einer HD02 getestet.
Der Reader wird so rebootet, wie es gemacht wird, wenn man im Webif auf den Button links drückt.
Leider habe ich keine spezifische Fehlermeldung der HD02, damit man das suaber ( gegen z.B. eine V13 ) abgrenzen kann.
AW: Einzelnen Reader abfragen und bei Bedarf starten, ein Script
Könntest du mir dabei behilflich sein, wie ich das skript einpflege? Ist es möglich das Skript so zu schreiben, dass egal welcher Reader den Status off ausgibt, Oscam oder alle Reader restarten lässt?
hello, I need a script to create a group for channels in HD because oscam only is reading the SD channels,
in reading the HD channels so the error appears:
error group (0 ms) - Discovery HD
if anyone knows something about please help me !!
thank you
AW: Einzelnen Reader abfragen und bei Bedarf starten, ein Script
Normalerweise könnte ich ja "getting" durch "Card initializing error" ersetzen, dann sollten ja egal welcher Karte verwendet wird unabhängig damit gestartet werden, oder irre ich mich da? Bin mir auch nicht mehr sicher wie die Meldung genau war da ich keinen Log parrat habe als meiner mal ausstieg.
Hab es auch mal noch um dies erweitert, bin gespannt ob es klappt DD
/usr/script/pushover.sh -t Notify -d htcone Reader G09 abgestürzt, starte ihn neu
AW: Einzelnen Reader abfragen und bei Bedarf starten, ein Script
hallo kann ich das Script auch auf der fritzbox laufen lassen und mit Cron. abfragen weil mir immer mal der Reader von HD01 aussteigt Timeout 5001
wie würde dann mein Script aussehen ??
Bin da total neu drin
Danke für eure Hilfe