los nombres son los que ha puesto xfs6600, es decir "oscript" y "script_oscam.sh" con permisos 755 (para que sean ejecutables), y la ruta pues depende del deco y el sistema que tengan, en el del compi van en la ruta que indica "/etc/init.d/" (en cada deco hay que ponerlo en una ruta que sepamos que lo que hay en ella se ejecuta en cada encendido del deco, o incluir alguna linea en el autorun para que inicie el oscam y el posterior scrip de comprobación de que la camd está funcionando correctamente).Y que nombre y extensión han de tener los scripts? Hay que ponerlos en alguna opción del deco para que se ejecuten o con ponerlos en la ruta indicada hay bastante?
Estás en lo cierto,Creo que lo que han mejorado han sido tus Leete las normas que es muy difierente
Creo que lo que han mejorado han sido tus Leete las normas que es muy difierente
eso digo y yo
Estás en lo cierto,
¿por qué?
El script de comprobación de errores en oscam "script_oscam.sh", tal como está solo es funcional durante 50 segundos: el código del script está repetido 4 veces (puede que sea un fallo de copiar y pegar) pero no realiza ningun bucle para que siga activo en memoria; se realiza el mismo proceso 4 veces (copiado y pegado) con una parada de 15 o 10 segundos entre cada lote de posibles errores, y en el último termina el script sin volver al inicio en un bucle, por esto solo es valido durante el primer minuto de arranque del deco, posteriormente no realiza mas comprobaciones.
Por eso, si después del primer minuto ha mejorado el comportamiento de oscam, es porque han mejorado los proxis de los Leete las normas.
Saludos.
#!/bin/bash
while [ true ];
do
if ! ps |grep -v grep |grep -c /usr/bin/oscam >/dev/null
then
oscript start
echo `date "+%d/%m/%y %R proceso no funcionaba"` >> /var/oscam_restart_log
# Esta parte anterior comprobará si NO hay proceso oscam corriendo.
# Y si esta condición es verdad, se iniciará Oscam y escribe en el archivo log.
# La entrada en el Log contendrá la fecha y hora y motivo de la ejecución (proceso no funciona)
# Si la condición primera no es verdad (oscam está corriendo), continua a la siguiente condición.
elif
tail -8 /var/oscam.log |grep -v grep |grep -c ins40 >/dev/null
then
oscript restart
echo `date "+%d/%m/%y %R ins40 error detectado"` >> /var/oscam_restart_log
elif
tail -8 /var/oscam.log |grep -v grep |grep -c deadlock >/dev/null
then
oscript restart
echo `date "+%d/%m/%y %R deadlock error detectado"` >> /var/oscam_restart_log
elif
tail -8 /var/oscam.log |grep -v grep |grep -c timeout >/dev/null
then
oscript restart
echo `date "+%d/%m/%y %R timeout error detectado"` >> /var/oscam_restart_log
# Estas tres condiciones anteriores buscará 3 errores comunes en Oscam: "ins40" y "deadlock" y "timeout"
# Si durante 8 líneas de tu oscam.log contiene cualquiera de esos errores, volverá a iniciarse oscam.
# Las entradas del registro Log incluirá la razón exacta de reinicio.
# ins40 error es el error aleatorio que mantendrá oscam corriendo pero no retorna CWs.
# deadlock es el mayor error que aparecen si utilizas el Protocolo CCcam en oscam.server
else
echo "ok"
# Si oscam aprueba todas las condiciones y todo está bien, simplemente hará eco de "ok"
fi
sleep 15
done
exit 0
si, el codigo comprueba cada 15 segundos los errores indicados de oscam, y no se cierra mientras la condición [ true ] se cumpla, lo cual se suele cumplir siempre, por lo que habria que matar el proceso del script con la orden kill por telnet.Muchas gracias Mecha, ¿éste script ya corrige el error del anterior?.
Estas son las rutas a cambiar para Spark:
usr/bin/oscam === /root/plugin/var/bin/oscam
var/oscam.log Y /var/oscam_restart_log === /root/plugin/var/log/oscam.log Y /root/plugin/var/log/oscam_restart_log
etc/tuxbox/config/oscam_1.20 & === /root/plugin/var/keys O /root/plugin/var/tuxbox/config en función de donde tengáis los archivos de configuración de oscam.