[manual]script para verificar se o oscam está a ler o cartão

avense

Youtuber
Staff member
Fundador
Administrador
Boas
a necessidade assim o pediu...

de vez em quando o meu oscam deixava de ler o cartão, não sei porquê...
resolvi fazer um script para verificar se o oscam estava a ler o cartão.

no oscam.conf além das configurações habituais é necessário meter estas duas

Código:
[global]
logfile = /tmp/oscam.log
maxlogsize = 10
...

com estas linhas o oscam gera um ficheiro de log em /tmp/oscam.log
quando esse ficheiro tem mais de 10k de tamanho é renomeado para /tmp/oscam.log-prev

oscam.server
Código:
[reader]
label = card # é este nome que se vai meter no script em READER="card"
...
o script
/var/bin/teste_oscam.sh >> chmod 755

Código:
#!/bin/sh
READER="card"
TODAY=$(date +%R-%d/%m/%Y)
sed -n "/found.*$READER/p" /tmp/oscam.log-prev > /tmp/oscam.teste
CONTALINHAS=`cat /tmp/oscam.teste | wc -l`
if [ $CONTALINHAS -ne 0 ]; then
echo " $TODAY - Sao $CONTALINHAS linhas, Oscam a ler o card muito bem" >> /tmp/oscam_cron.log
else
echo " $TODAY - Oscam nao le o card muito bem" >> /tmp/oscam_cron.log
#killall -9 oscam
#sleep 2
#/var/bin/oscam -b &
fi
exit 0
para fazer o teste se está tudo Ok:

entrar na box por telnet
> /var/bin/teste_oscam.sh
> cat /tmp/oscam.teste
deve aparecer umas quantas linha, se não aparecer algo está mal
> cat /tmp/oscam_cron.log
deve aparecer o que está no echo do script

depois dos teste

activar o crontab, e meter esta linha:
Código:
0-59/5 * * * * /var/bin/teste_oscam.sh

no meu caso o ficheiro oscam está em /var/bin alterar ao "gosto" no script
depois dos testes remover os # de killall -9 oscam do sleep 2 e do /var/bin/oscam

isto pode não estar bem explicado, mas eu e os manuais não somos grandes amigo

bons teste
 
Voltar
Topo