Home

proyecto script oscam

  • Iniciador del tema †LUCIFER†
  • Fecha de inicio

†LUCIFER†

Invitado
Intencion del proyecto:


Ir modificando el script entre todos, ya sea aportando codigo, o aportando ideas para ir poniendolas en el script..., no hace falta que tengais idea ni conocimientos, simplemente ya sirve que aporteis una idea que se os ocurra que os gustaria que hiciera el script, y ya entre todos se vera como hacerlo...


script base:


A continuacion os dejo el script que he realizado, funcional, sobre el que añadir mas cosas que se os ocurran, que es la intencion del proyecto:


El script hace en estos momentos:


- Chequea el proceso oscam y si no lo encuentra arranca oscam
- Chequea si hay conexion a internet, si hay no hace nada, si se pierde no hace nada, y cuando vuelve internet para oscam, y lo vuelve a reiniciar.
- Chequea si hay errores en el log que generamos con oscam, busca los errores:
ins40
trylock
not found
timeout


y si los encuentra reinicia oscam...


En todos los casos de reinicio de oscam se crea log sobre los mismos...


log de funcionamiento:






dhcppc0:/usr/script# sh oscamcheck.sh





Oscam esta funcionando
Si hay Internet
grep: found: No such file or directory
Oscam esta funcionando
Si hay Internet
grep: found: No such file or directory
Oscam esta funcionando
Si hay Internet
grep: found: No such file or directory
Oscam esta funcionando
Si hay Internet
grep: found: No such file or directory
Oscam esta funcionando
Si hay Internet
grep: found: No such file or directory
Oscam esta funcionando
Si hay Internet
grep: found: No such file or directory
Oscam esta funcionando
Si hay Internet
2012/08/13 20:14:06 5DCAC8 p cccam: ecm trylock: got lock---> encuentra error trylock se reinicia oscam


y se crea log con los reinicios y errores:




Se han encontrado errores ins40 o trylock : Mon Aug 13 19:30:44 CEST 2012
Oscam no se encuentra reinciando : Mon Aug 13 20:20:15 CEST 2012
Oscam no se encuentra reinciando : Mon Aug 13 20:26:31 CEST 2012


y SCRIPT PARA UTILIZAR ACTUALIZADO A FECHA 16-08-2012







Código:
###########SCRIPT OSCAM PROYECTO LIBRE########
#!/bin/sh


#PARAMETROS DE CONFIGURACION
emuoscam=/var/camd/oscam # Ubicacion del binario oscam y archivos configuracion arrancado en modo debugall
oscamconf=/var/etc/oscam # Ubicacion de los archivos de configuracion de oscam
oscamL=/media/hdd/logoscam.log # Ubicacion donde oscam crea un archivo log para ver el debug, configurable en oscam.conf
oscamC=/var/log/oscamcheck.log # Archivo que se crea sobre procesos del script oscam.
NumT="10" # numero errores a buscar
fecha=`date` # Formato de fecha
dns=/usr/bin/noip2 # Ubicacion programa noip2
testeo=10 # Tiempo en segundos que el script hace comprobaciones


#BUSCAR PROCESO OSCAM SI NO LO ENCUENTRA SE REINICIA
while [ true ];
do
if pgrep oscam >/dev/null
then
echo "Oscam esta funcionando"
else
echo "Oscam no se encuentra reinciando : $fecha" >> $oscamC
$emuoscam -c $oscamconf


fi
#REINICIO OSCAM EN CASO PERDIDA INTERNET CUANDO VUELVE
CUENTA=$(ping -c 1 www.google.es | grep received | awk -F ',' '{print $2}' | awk -F ' ' '{print $1}')
	if [ $CUENTA = 1 ];then	
 echo "Si hay Internet"
	else
 echo "No hay internet, esperamos que vuelva"
 INTERNET="NO"
 while [ $INTERNET = NO ];
 do
 CUENTA=$(ping -c 1 www.google.es | grep received | awk -F ',' '{print $2}' | awk -F ' ' '{print $1}')
 if [ $CUENTA = 1 ];then
 echo "Ya hay Internet, reiniciamos oscam y actualizamos noip2 : $fecha" >> $oscamC
 INTERNET="SI"
 killall -9 noip2
 sleep 2 
 $dns
 sleep 2
 killall -9 oscam
 sleep 1
 $emuoscam -c $oscamconf
 else
 echo "No hay internet todavia"
 fi
 done
	fi
#REINICIO OSCAM EN CASO DE ERRORES INS4O Y TRYLOCK
if ((tail -n 50 $oscamL | grep ins40) || (tail -n 10 $oscamL | grep trylock))
then
echo "Se han encontrado errores ins40 o trylock : $fecha" >> $oscamC
cp $oscamL /media/hdd/pvr
sleep 5
rm $oscamL
sleep 5
killall -9 oscam
sleep 1
$emuoscam -c $oscamconf
exit
fi
#REINICIO OSCAM EN CASO DE ERRORES TIMEOUT Y NOT FOUND
if [ "`tail -n 100 $oscamL | grep -c timeout || tail -n 100 $oscamL | grep -c not found`" -gt "$NumT" ]
then
echo "Se han encontrado errores timeout o not found : $fecha" >> $oscamC
cp $oscamL /media/hdd/pvr
sleep 5
rm $oscamL
sleep 5
killall -9 oscam
sleep 1
$emuoscam -c $oscamconf
fi
#AVISO CIERRE CONEXION
tail -n 5 $oscamL | grep tcp_conn_close >> $oscamC
sleep $testeo
 done
fi


exit 0




ACTUALIZACION PARA QUIEN UTILICE PROGRAMA NOIP2 EN SU DECO:


Código:
###########SCRIPT OSCAM  PROYECTO LIBRE########
#!/bin/sh


#PARAMETROS DE CONFIGURACION
emuoscam=/var/camd/oscam # Ubicacion del binario oscam y archivos configuracion arrancado en modo debugall
oscamconf=/var/etc/oscam # Ubicacion de los archivos de configuracion de oscam
oscamL=/media/hdd/logoscam.log # Ubicacion donde oscam crea un archivo log para ver el debug, configurable en oscam.conf
oscamC=/var/log/oscamcheck.log # Archivo que se crea sobre procesos del script oscam.
fecha=`date` # Formato de fecha
dns=/usr/bin/noip2 # Ubicacion programa noip2
testeo=10 # Tiempo en segundos que el script hace comprobaciones
#BUSCAR PROCESO OSCAM SI NO LO ENCUENTRA SE REINICIA
while [ true ];
do
if pgrep oscam >/dev/null
then
echo "Oscam esta funcionando"
else
echo "Oscam no se encuentra reinciando : $fecha" >> $oscamC
$emuoscam -d255 -c $oscamconf


fi
#REINICIO OSCAM EN CASO PERDIDA INTERNET CUANDO VUELVE
CUENTA=$(ping -c 1 www.google.es | grep received | awk -F ',' '{print $2}' | awk -F ' ' '{print $1}')
if [ $CUENTA = 1 ];then 
echo "Si hay Internet"
else
echo "No hay internet, esperamos que vuelva"
INTERNET="NO"
while [ $INTERNET = NO ];
do
CUENTA=$(ping -c 1 www.google.es | grep received | awk -F ',' '{print $2}' | awk -F ' ' '{print $1}')
if [ $CUENTA = 1 ];then
echo "Ya hay Internet, reiniciamos oscam y actualizamos noip2 : $fecha" >> $oscamC
INTERNET="SI"
killall -9 noip2
sleep 2 
$dns
sleep 2
killall -9 oscam
sleep 1
$emuoscam -d255 -c $oscamconf
else
echo "No hay internet todavia"
fi
done
fi
#REINICIO OSCAM EN CASO DE ERRORES INS4O Y TRYLOCK
if ((tail -n 50 $oscamL | grep ins40) || (tail -n 10 $oscamL | grep trylock))
then
echo "Se han encontrado errores ins40 o trylock : $fecha" >> $oscamC
killall -9 oscam
$emuoscam -d255 -c $oscamconf
fi
#REINICIO OSCAM EN CASO DE ERRORES TIMEOUT Y NOT FOUND
if ((tail -n 50 $oscamL | grep timeout) || (tail -n 10 $oscamL | grep not found))
then
echo "Se han encontrado errores ins40 o trylock : $fecha" >> $oscamC
killall -9 oscam
$emuoscam -d255 -c $oscamconf
fi
#AVISO CIERRE CONEXION
tail -n 5 $oscamL | grep tcp_conn_close >> $oscamC
sleep $testeo
done
fi


exit 0
Saludos e ir poniendo en este hilo, ideas o aportaciones para añadir o mejorar....o cuando le deis uso pues errores que os surjan...
 

valenciano65

Usuario Destacado
Fan de OpenSPA
8 Sep 2012
216
8
0
Valencia
Hola Lucifer, tremendo script.
Tengo una pregunta: si da timeout, normalmente a mi a los 10 segundos totales desde la ultima ecm (mala con corte), me vuelve a coger una nueva. Si ahi se reinicia, no será mayor el tiempo de reinicio del oscam que esperar una nueva ecm?

Muchas gracias,

Saludos,
 

†LUCIFER†

Invitado
Hola Lucifer, tremendo script.
Tengo una pregunta: si da timeout, normalmente a mi a los 10 segundos totales desde la ultima ecm (mala con corte), me vuelve a coger una nueva. Si ahi se reinicia, no será mayor el tiempo de reinicio del oscam que esperar una nueva ecm?

Muchas gracias,

Saludos,


NumT="10" # numero errores a buscarpor defecto esta en 10 lo podeis subir o bajar... esto quiere decir que oscam se reinicia si aparecen mas de 10 errores timeuts en las ultimas 100 lineas del log...
if [ "`tail -n 100 $oscamL | grep -c timeout || tail -n 100 $oscamL | grep -c not found`" -gt "$NumT" ]
 

valenciano65

Usuario Destacado
Fan de OpenSPA
8 Sep 2012
216
8
0
Valencia
NumT="10" # numero errores a buscarpor defecto esta en 10 lo podeis subir o bajar... esto quiere decir que oscam se reinicia si aparecen mas de 10 errores timeuts en las ultimas 100 lineas del log...
if [ "`tail -n 100 $oscamL | grep -c timeout || tail -n 100 $oscamL | grep -c not found`" -gt "$NumT" ]


No puedes crear (lo digo desde la ignorancia total) un previsionado en cache que garantice que todo lo que va al dvbapi sea bueno?
Por lo que entiendo, lo que comentas que hace el script, despues de 10 cortes lo unico que generará será un corte mayor por el reinicio y todas las estadisticas estarán a 0 de nuevo.

Muchas gracias y disculpa marearte,

Saludos,
 

Mecha

Usuario Destacado
Loco por OpenSPA
Fan de OpenSPA
14 Ene 2010
4.132
819
0
España
reviviendo este proyecto que aunque antigüo en el tiempo, no está caduco.
Aquí les pongo unas modicaciones para que os funcione, ya que el comando "pgrep" con el que se inicia el script original, no se encuentra integrado en la versión que se usa en spark de BusyBox v1.18.2 (paquete de comandos que se usan por consola), y tambien he hecho algunas modificaciones esteticas (colores por consola :D2) y he limitado los errores de timeout y not found solo para buscar en el usuario local que usa el DBVApi

Código:
###########SCRIPT OSCAM PROYECTO LIBRE########
#!/bin/sh
#PARAMETROS DE CONFIGURACION
emuoscam=/var/bin/oscam # Ubicacion del binario oscam (ruta que incluya el nombre del binario que uses) .
oscamconf=/var/tuxbox/config # Ubicacion de los archivos de configuracion de oscam
usuario=DVBApi # nombre de usuario local en [DVBAPI] de oscam.conf
oscamL=/var/log/oscam.log # Ubicacion donde oscam crea un archivo log para ver el debug, configurable en oscam.conf
oscamC=/var/log/oscamcheck.log # Archivo que se crea sobre procesos de erorres de este script.
fecha=$(date) # Formato de fecha
testeo=10 # Tiempo en segundos que el script hace comprobaciones
#BUSCAR PROCESO OSCAM SI NO LO ENCUENTRA SE REINICIA
while [ true ];
do
  pidof oscam >/dev/null
  if [ $? -eq 0 ] ; then
    echo -e "\e[1;32mOscam esta funcionando\e[0m"
    else
    echo "Oscam no se encuentra, reinciando : $fecha" >> $oscamC
    $emuoscam -b -c $oscamconf &
    pidof oscam >/dev/null
    if [ $? -eq 0 ] ; then
    echo -e "\e[1;32m[ Reiniciado de Oscam OK  ]\e[0m"
    fi
  fi
#REINICIO OSCAM EN CASO PERDIDA INTERNET CUANDO VUELVE
    CUENTA=$(ping -c 1 www.google.es | grep received | awk -F ',' '{print $2}' | awk -F ' ' '{print $1}')
    if [ $CUENTA = 1 ];then  
    echo -e "\e[1;36mSi hay internet\e[0m"
    else
    echo -e "\e[1;31mNo hay internet, esperamos que vuelva\e[0m"
    INTERNET="NO"
    while [ $INTERNET = NO ];
    do
    CUENTA=$(ping -c 1 www.google.es | grep received | awk -F ',' '{print $2}' | awk -F ' ' '{print $1}')
        if [ $CUENTA = 1 ];then
        INTERNET="SI"
        echo "Ya hay Internet, reiniciamos oscam : $fecha" >> $oscamC
        killall -9 oscam
        sleep 1
        $emuoscam -b -c $oscamconf &
            pidof oscam >/dev/null
            if [ $? -eq 0 ] ; then
            echo -e "\e[1;32m[ Reiniciado de Oscam OK  ]\e[0m"
            fi
        else
        echo -e "\e[1;31mNo hay internet todavia|e[0m"
        fi
    done
    fi
#REINICIO OSCAM EN CASO DE ERRORES INS4O Y TRYLOCK
    if ((tail -n 50 $oscamL | grep ins40) || (tail -n 10 $oscamL | grep trylock));then
    echo "Se han encontrado errores ins40 o trylock : $fecha" >> $oscamC
    killall -9 oscam
    sleep 1
    echo "reiniciando oscam" >> $oscamC
    $emuoscam -b -c $oscamconf &
        pidof oscam >/dev/null
        if [ $? -eq 0 ] ; then
        echo -e "\e[1;32m[ Reiniciado de Oscam OK  ]\e[0m"
        fi
    fi
#REINICIO OSCAM EN CASO DE ERRORES TIMEOUT Y NOT FOUND
    if ((tail -n 50 $oscamL | grep "$usuario.*timeout") || (tail -n 10 $oscamL | grep "$usuario.*not found"));then
    echo "Se han encontrado errores timeout o not found para user $usuario : $fecha" >> $oscamC
    killall -9 oscam
    sleep 1
    echo "reiniciando oscam" >> $oscamC
    $emuoscam -b -c $oscamconf &
        pidof oscam >/dev/null
        if [ $? -eq 0 ] ; then
        echo -e "\e[1;32m[ Reiniciado de Oscam OK  ]\e[0m"
        fi
    fi
#AVISO CIERRE CONEXION
tail -n 5 $oscamL | grep tcp_conn_close >> $oscamC
sleep $testeo
done
exit 0
 
Última edición:

bubu83

Usuario
Amigo OpenSPA
10 Ene 2014
25
0
0
40
reviviendo este proyecto que aunque antigüo en el tiempo, no está caduco.
Aquí les pongo unas modicaciones para que os funcione, ya que el comando "pgrep" con el que se inicia el script original, no se encuentra integrado en la versión que se usa en spark de BusyBox v1.18.2 (paquete de comandos que se usan por consola), y tambien he hecho algunas modificaciones esteticas (colores por consola :D2) y he limitado los errores de timeout y not found solo para buscar en el usuario local que usa el DBVApi

Código:
###########SCRIPT OSCAM PROYECTO LIBRE########
#!/bin/sh
#PARAMETROS DE CONFIGURACION
emuoscam=/var/bin/oscam # Ubicacion del binario oscam (ruta que incluya el nombre del binario que uses) .
oscamconf=/var/tuxbox/config # Ubicacion de los archivos de configuracion de oscam
usuario=DVBApi # nombre de usuario local en [DVBAPI] de oscam.conf
oscamL=/var/log/oscam.log # Ubicacion donde oscam crea un archivo log para ver el debug, configurable en oscam.conf
oscamC=/var/log/oscamcheck.log # Archivo que se crea sobre procesos de erorres de este script.
fecha=$(date) # Formato de fecha
testeo=10 # Tiempo en segundos que el script hace comprobaciones
#BUSCAR PROCESO OSCAM SI NO LO ENCUENTRA SE REINICIA
while [ true ];
do
  pidof oscam >/dev/null
  if [ $? -eq 0 ] ; then
    echo -e "\e[1;32mOscam esta funcionando\e[0m"
    else
    echo "Oscam no se encuentra, reinciando : $fecha" >> $oscamC
    $emuoscam -b -c $oscamconf &
    pidof oscam >/dev/null
    if [ $? -eq 0 ] ; then
    echo -e "\e[1;32m[ Reiniciado de Oscam OK  ]\e[0m"
    fi
  fi
#REINICIO OSCAM EN CASO PERDIDA INTERNET CUANDO VUELVE
    CUENTA=$(ping -c 1 www.google.es | grep received | awk -F ',' '{print $2}' | awk -F ' ' '{print $1}')
    if [ $CUENTA = 1 ];then 
    echo -e "\e[1;36mSi hay internet\e[0m"
    else
    echo -e "\e[1;31mNo hay internet, esperamos que vuelva\e[0m"
    INTERNET="NO"
    while [ $INTERNET = NO ];
    do
    CUENTA=$(ping -c 1 www.google.es | grep received | awk -F ',' '{print $2}' | awk -F ' ' '{print $1}')
        if [ $CUENTA = 1 ];then
        INTERNET="SI"
        echo "Ya hay Internet, reiniciamos oscam : $fecha" >> $oscamC
        killall -9 oscam
        sleep 1
        $emuoscam -b -c $oscamconf &
            pidof oscam >/dev/null
            if [ $? -eq 0 ] ; then
            echo -e "\e[1;32m[ Reiniciado de Oscam OK  ]\e[0m"
            fi
        else
        echo -e "\e[1;31mNo hay internet todavia|e[0m"
        fi
    done
    fi
#REINICIO OSCAM EN CASO DE ERRORES INS4O Y TRYLOCK
    if ((tail -n 50 $oscamL | grep ins40) || (tail -n 10 $oscamL | grep trylock));then
    echo "Se han encontrado errores ins40 o trylock : $fecha" >> $oscamC
    killall -9 oscam
    sleep 1
    echo "reiniciando oscam" >> $oscamC
    $emuoscam -b -c $oscamconf &
        pidof oscam >/dev/null
        if [ $? -eq 0 ] ; then
        echo -e "\e[1;32m[ Reiniciado de Oscam OK  ]\e[0m"
        fi
    fi
#REINICIO OSCAM EN CASO DE ERRORES TIMEOUT Y NOT FOUND
    if ((tail -n 50 $oscamL | grep "$usuario.*timeout") || (tail -n 10 $oscamL | grep "$usuario.*not found"));then
    echo "Se han encontrado errores timeout o not found para user $usuario : $fecha" >> $oscamC
    killall -9 oscam
    sleep 1
    echo "reiniciando oscam" >> $oscamC
    $emuoscam -b -c $oscamconf &
        pidof oscam >/dev/null
        if [ $? -eq 0 ] ; then
        echo -e "\e[1;32m[ Reiniciado de Oscam OK  ]\e[0m"
        fi
    fi
#AVISO CIERRE CONEXION
tail -n 5 $oscamL | grep tcp_conn_close >> $oscamC
sleep $testeo
done
exit 0


Muy currado el cambio se agradece un monton!!!

Lo he probado y funciona perfectamente, lo único que al menos yo usando la imagen pkteam se me ralentiza el deco un monton hasta el punto de que he tenido que quitar el script.
 

tres

Usuario
Fan de OpenSPA
21 Mar 2010
237
11
0
reviviendo este proyecto que aunque antigüo en el tiempo, no está caduco.
Aquí les pongo unas modicaciones para que os funcione, ya que el comando "pgrep" con el que se inicia el script original, no se encuentra integrado en la versión que se usa en spark de BusyBox v1.18.2 (paquete de comandos que se usan por consola), y tambien he hecho algunas modificaciones esteticas (colores por consola :D2) y he limitado los errores de timeout y not found solo para buscar en el usuario local que usa el DBVApi

Código:
###########SCRIPT OSCAM PROYECTO LIBRE########
#!/bin/sh
#PARAMETROS DE CONFIGURACION
emuoscam=/var/bin/oscam # Ubicacion del binario oscam (ruta que incluya el nombre del binario que uses) .
oscamconf=/var/tuxbox/config # Ubicacion de los archivos de configuracion de oscam
usuario=DVBApi # nombre de usuario local en [DVBAPI] de oscam.conf
oscamL=/var/log/oscam.log # Ubicacion donde oscam crea un archivo log para ver el debug, configurable en oscam.conf
oscamC=/var/log/oscamcheck.log # Archivo que se crea sobre procesos de erorres de este script.
fecha=$(date) # Formato de fecha
testeo=10 # Tiempo en segundos que el script hace comprobaciones
#BUSCAR PROCESO OSCAM SI NO LO ENCUENTRA SE REINICIA
while [ true ];
do
  pidof oscam >/dev/null
  if [ $? -eq 0 ] ; then
    echo -e "\e[1;32mOscam esta funcionando\e[0m"
    else
    echo "Oscam no se encuentra, reinciando : $fecha" >> $oscamC
    $emuoscam -b -c $oscamconf &
    pidof oscam >/dev/null
    if [ $? -eq 0 ] ; then
    echo -e "\e[1;32m[ Reiniciado de Oscam OK  ]\e[0m"
    fi
  fi
#REINICIO OSCAM EN CASO PERDIDA INTERNET CUANDO VUELVE
    CUENTA=$(ping -c 1 www.google.es | grep received | awk -F ',' '{print $2}' | awk -F ' ' '{print $1}')
    if [ $CUENTA = 1 ];then
    echo -e "\e[1;36mSi hay internet\e[0m"
    else
    echo -e "\e[1;31mNo hay internet, esperamos que vuelva\e[0m"
    INTERNET="NO"
    while [ $INTERNET = NO ];
    do
    CUENTA=$(ping -c 1 www.google.es | grep received | awk -F ',' '{print $2}' | awk -F ' ' '{print $1}')
        if [ $CUENTA = 1 ];then
        INTERNET="SI"
        echo "Ya hay Internet, reiniciamos oscam : $fecha" >> $oscamC
        killall -9 oscam
        sleep 1
        $emuoscam -b -c $oscamconf &
            pidof oscam >/dev/null
            if [ $? -eq 0 ] ; then
            echo -e "\e[1;32m[ Reiniciado de Oscam OK  ]\e[0m"
            fi
        else
        echo -e "\e[1;31mNo hay internet todavia|e[0m"
        fi
    done
    fi
#REINICIO OSCAM EN CASO DE ERRORES INS4O Y TRYLOCK
    if ((tail -n 50 $oscamL | grep ins40) || (tail -n 10 $oscamL | grep trylock));then
    echo "Se han encontrado errores ins40 o trylock : $fecha" >> $oscamC
    killall -9 oscam
    sleep 1
    echo "reiniciando oscam" >> $oscamC
    $emuoscam -b -c $oscamconf &
        pidof oscam >/dev/null
        if [ $? -eq 0 ] ; then
        echo -e "\e[1;32m[ Reiniciado de Oscam OK  ]\e[0m"
        fi
    fi
#REINICIO OSCAM EN CASO DE ERRORES TIMEOUT Y NOT FOUND
    if ((tail -n 50 $oscamL | grep "$usuario.*timeout") || (tail -n 10 $oscamL | grep "$usuario.*not found"));then
    echo "Se han encontrado errores timeout o not found para user $usuario : $fecha" >> $oscamC
    killall -9 oscam
    sleep 1
    echo "reiniciando oscam" >> $oscamC
    $emuoscam -b -c $oscamconf &
        pidof oscam >/dev/null
        if [ $? -eq 0 ] ; then
        echo -e "\e[1;32m[ Reiniciado de Oscam OK  ]\e[0m"
        fi
    fi
#AVISO CIERRE CONEXION
tail -n 5 $oscamL | grep tcp_conn_close >> $oscamC
sleep $testeo
done
exit 0
buenas, muchas gracias por el script.
lo estoy ejecutando en un AzboxHD con E2 OpenRSI
una cuestion
parece que todo funciona ok solo que la fecha y hora que me aparece en el archivo "oscamcheck.log" no es la fecha actual, en ese log pase lo que pase siempre me aparece esta fecha y hora: 8/03/2013 11:18
esta fecha coincide con la fecha de la mayoria de las carpetas que tengo en el receptor.

por probar, he intentado cambiando esto en el script
Código:
fecha=$(date +"%Y-%m-%d %H:%M") # Formato de fecha
pero sigue apareciendo la misma fecha/hora:
"Oscam no se encuentra, reinciando : 2013-03-08 11:18"

sabeis donde esta la clave de este tema?
gracias
abrazos!
 

Mecha

Usuario Destacado
Loco por OpenSPA
Fan de OpenSPA
14 Ene 2010
4.132
819
0
España
pues la clave debe estar en que el reloj de tu sistema no se actualiza con la fecha y hora actual.
entra por consola telnet, y comprueba con el comando date, para ver que fecha y hora te muestra.
en caso de no estar actualizada, lo haces con el siguiente comando, de ejemplo: date --set "2014-4-2 23:41" (ya sabes ponlo con la fecha y hora actual, en el formato indicado)
cuando pase un poco consulta de nuevo con el comando date para ver si está funcionando el reloj.
Si por consola telnet esto funciona como debe ser, mira en el menu main, timer, que tengas activado la actualizacion horaria mediante TP o Internet.
 

tres

Usuario
Fan de OpenSPA
21 Mar 2010
237
11
0
hola mecha
el "date" del deco esta ok en la fecha y hora actuales por eso me extraña
he probado a enviar el "date --set ....." que comentas y por lo visto ha cambiado de CET a UTC pero en el oscamcheck.log sigue apareciendo la fecha y hora equivocadas.
 

Mecha

Usuario Destacado
Loco por OpenSPA
Fan de OpenSPA
14 Ene 2010
4.132
819
0
España
pues entonces solo se me ocurre, que la variable $fecha la tenga configurada el sistema con ese valor que te aparece fijo, y no hace caso a su actualización ó modificación,
prueba a cambiar en el script todos los textos "fecha", por otro nombre, por ejemplo "es_ahora", a ver si esta variable si toma el valor actual de la función date.

Tambien por consola, puedes escribir "set" para ver todas las variables de entorno creadas en el sistema, y comprueba si tienes la variable "fecha" y con que valor.
 

tres

Usuario
Fan de OpenSPA
21 Mar 2010
237
11
0
Gracias mecha
ya lo tengo solucionado, y la verdad es que no tengo muy claro como.
Código:
Oscam no se encuentra, reinciando : Thu Apr  3 18:24:09 CEST 2014

esta claro que algo estaba mal en mi sistema, he probado a instalar un ntp con
Código:
opkg install ntpdate
con esto ya se ha puesto la fecha ok y la hora se ha puesto a 2 horas por debajo de la actual, y no habia manera de que se corrigieran esas 2 horas de diferencia,
despues he visto que en /usr/share/zoneinfo/ faltaban algunos archivos, por ejemplo dentro de la carpeta /Europe solo aparecian 3 ciudades.
me he bajado unos tzdata desde aqui https://www.archlinux.org/packages/core/any/tzdata/
y los he enviado por FTP a /usr/share/zoneinfo/, he elimnado el symlink de localtime que hay en /etc y he creado un nuevo symlink
Código:
ln -sf /usr/share/zoneinfo/Europe/Madrid /etc/localtime
despues de reiniciar ya sale la hora correcta en oscamcheck.log.
gracias amigo!
 
  • Me gusta
Reactions: Mecha