• Hola Invitado, nos gustaría recordarte que mantener este sitio en línea conlleva unos gastos mensuales y anuales.

    Sin vuestra ayuda mensual no es posible seguir en pie, no hay mucho más que contar.

    Si quieres colaborar para que sea posible por lo menos seguir en pie como comunidad, puedes hacerlo mediante alguno de los métodos disponibles en esta página: https://www.lonasdigital.com/donaciones/

    Recuerda que si necesitas invitación para acceder al foro, puedes solicitarla en nuestro Grupo de Telegram


Script Comprobar_proceso

Javilonas

Javilonas

Trovador Loco
Developer
Registrado
10 Sep 2006
Mensajes
25.305
Reacciones
2.688
Puntos
322
Este script es muy útil para comprobar si se está ejecutando algún proceso, aunque de cara a nuestros receptores no se podría usar por si solo, pero..... Si que se podría añadir mas funciones para que no solo compruebe que tal servicio está corriendo o ejecutándose, también podríamos hacer que si este está parado podamos levantarlo enseguida,

Nombre de el script: Comprobar_proceso.sh

El script que nos comprueba si está un proceso o servicio activo viene a ser así:

Código:
#!/bin/sh


echo ''
echo ''
PROCESO='CCcam'
echo 'Vamos a comprobar que el proceso se esta ejecutando'
echo ''
sleep 2
if pidof $PROCESO > /dev/null
then
echo ''
echo "$PROCESO esta ejecutandose correctamente"
else
echo "Atencion! $PROCESO esta detenido"
fi
echo ''
echo ''
echo ''
echo 'Script realizado por Team LD para http://www.lonasdigital.com'
echo 'No olvides Visitarnos ;)'
echo ''


exit 0

de esta manera comprobamos en este caso si CCcam está activo o no y nada mas, pero también podemos hacer que este nos lo arranque de nuevo si este estuviera caído, ¿como? pues muy fácil, añadiéndole unas cuantas líneas mas ;)

El script que se encargaría de Revisar si está caído y en caso de estarlo reiniciarlo sería este:

Código:
#!/bin/sh


PROCESO='CCcam'
RUTA_PROCESO='/usr/bin'
TIEMPO='900'
echo " ----- Iniciando test $PROCESO -----"
echo ''
echo ''
echo 'Vamos a comprobar que el proceso se esta ejecutando'
echo ''
sleep 2
if pidof $PROCESO > /dev/null
then
echo ''
echo "$PROCESO esta ejecutandose correctamente"
else
echo "Atencion! $PROCESO esta detenido"
fi
while [ 1 ] 
do
pidof $PROCESO > /dev/null
if [ $? -eq 0 ] ; then
echo 'Vamos aproceder a comprobar de nuevo si esta activo'
echo ''
echo ""
else
echo ''
$RUTA_PROCESO/$PROCESO &
if [ $? -eq 0 ] ; then
echo "ok! el servicio $PROCESO ya esta activo de nuevo :)"
else
echo "no funcionó. Trata de hacerlo de forma manual"
fi 
fi
#Tiempo de comprobación si el servicio sigue activo, si no lo reicicia
sleep $TIEMPO
done
echo ''
echo 'Script realizado por Team LD para http://www.lonasdigital.com'
echo 'No olvides Visitarnos ;)'
echo ''


exit 0

Como veréis le he añadido arriba donde tenéis que añadir el nombre de el binario y la ruta donde este se encuentra, así como el tiempo que queréis que este se encargue de revisar y reiniciar este proceso si está caído.

Se le puede añadir un pequeño log para estar informados de su proceso pero sería generar un log tontamente por algo que no lo merece ;) pero como se que muchos lo queréis con log pues ahí os lo dejo algo mas completo:

Código:
#!/bin/sh


PROCESO='CCcam'
RUTA_PROCESO='/usr/bin'
TIEMPO='900'
echo " ----- Iniciando test $PROCESO -----"
echo ''
echo ''
echo 'Vamos a comprobar que el proceso se esta ejecutando'
echo ''
sleep 2
if pidof $PROCESO > /dev/null
then
echo ''
echo "$PROCESO esta ejecutandose correctamente"
else
echo "Atencion! $PROCESO esta detenido"
fi
date=`date` 
echo "Iniciando test $PROCESO : $date" >> /tmp/test_procesos.log
while [ 1 ] 
do
pidof $PROCESO > /dev/null
if [ $? -eq 0 ] ; then
echo 'Vamos aproceder a comprobar de nuevo si esta activo'
echo ''
echo ""
else
date=`date` 
echo "Reiniciando $PROCESO : $date" >> /tmp/test_procesos.log
echo ''
$RUTA_PROCESO/$PROCESO &
if [ $? -eq 0 ] ; then
echo "ok! el servicio $PROCESO ya esta activo de nuevo :)"
else
echo "no funcionó. Trata de hacerlo de forma manual"
fi 
fi
#Tiempo de comprobación si el servicio sigue activo, si no lo reicicia
sleep $TIEMPO
done
echo ''
echo 'Script realizado por Team LD para http://www.lonasdigital.com'
echo 'No olvides Visitarnos ;)'
echo ''


exit 0

Le he puesto 900 segundos (15 minutos) para que compruebe cada 15 minutos si el servicio está caído o no, se le pueden añadir mas funcionalidades, pero como siempre digo es hacer un archivo mas pesado sin merecerlo.

Espero que os sirva ;) adjunto el script final con log mas abajo
 

Adjuntos

Se me olvidó comentar, por defecto está para CCcam, simplemente modificáis donde pone CCcam por la emu o el servicio que queréis que se controle en el script y santas pascuas
 
Lo mando a esta zona, ya no sirve de nada tenerlo oculto en la zona de el team privada
 
Osea para cccam le mete esto al script y lo arranco con el cron mismo no javi?

Ahora se me ha caido cccam y quiero probarlo.

se lo pongo que revise cada 60 segundos que pasa?
Código:
#!/bin/sh


PROCESO='CCcam'
RUTA_PROCESO='/usr/bin'
TIEMPO='900'
echo " ----- Iniciando test $PROCESO -----"
echo ''
echo ''
echo 'Vamos a comprobar que el proceso se esta ejecutando'
echo ''
sleep 2
if pidof $PROCESO > /dev/null
then
echo ''
echo "$PROCESO esta ejecutandose correctamente"
else
echo "Atencion! $PROCESO esta detenido"
fi
while [ 1 ] 
do
pidof $PROCESO > /dev/null
if [ $? -eq 0 ] ; then
echo 'Vamos aproceder a comprobar de nuevo si esta activo'
echo ''
echo ""
else
echo ''
$RUTA_PROCESO/$PROCESO &
if [ $? -eq 0 ] ; then
echo "ok! el servicio $PROCESO ya esta activo de nuevo :)"
else
echo "no funcionó. Trata de hacerlo de forma manual"
fi 
fi
#Tiempo de comprobación si el servicio sigue activo, si no lo reicicia
sleep $TIEMPO
done
echo ''
echo 'Script realizado por Team LD para http://www.lonasdigital.com'
echo 'No olvides Visitarnos ;)'
echo ''


exit 0
 
Pues que te lo revisará cada 60 segundos, lo veo absurdo tratándose de CCcam jejeje con dejarlo en 900 (15 minutos) está bien y no le das tanta caña
 
Ok,pues lo dejo en 900 y le añado el cron para que esta noche cuando reinicie se ejecute.

gracias.
 
45 04 * * * /usr/bin/Blackholecmd reboot
50 04 * * * /usr/bin/Blackholecmd standby
55 04 * * * /usr/script/Comprobar_proceso.sh
60 04 * * * /usr/script/memoria.sh


Pues así lo dejo,ahora a esperar resultados.ya contare que tal.
 
Por si sirve de ayuda, yo lo tengo así:

Código:
00 05 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/WakeUp.sh
10 05 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/Reboot.sh
15 05 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/Mantener_sbox.sh
16 05 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/Mantener_CCcam.sh
20 05 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/Standby.sh
50 12 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/libera_memoria.sh 
50 19 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/libera_memoria.sh

A las 5:00 despierta.
A las 5:05 descarga la EPG (no aparece en el cron, pero es una descarga programa de CrossEPG; es una prueba a ver qué pasa por cuioridad).
A las 5:10 reinicia.
A las 5:15 lanza el script para mantener CCcam vivo.
A las 5:16 lanza el script para mantener sbox vivo.
A las 05:20, a dormir.

12:50 y 19:50 libera memoria.
 
pues yo tengo esto de prueba
me haria reboot y standby 3 dias a la semana?

00 04 * * mon,wed,fri /usr/bin/Blackholecmd reboot
15 04 * * mon,wed,fri /usr/bin/Blackholecmd standby
00 12 * * * /usr/bin/libera_memoria.sh
 
Gracias funcionando tambien de lujo en DM 800 HD y DM 800 SE saludos
 
Hola amigos, este script, ¿podría valer para enigma1 o habría que cambiar algo?.
Un saludo.
 
Presupongo que pare Enigma2 ya que los mod de lonas para estas imágenes son enigma2
 
estos script son para linux o sea que en enigma 1 tambien deberia funcionar...

otra cosa es que algun comando no funcione por que no este añadido en la imagen, o algun simbolo del script de error en el dash que lleve la imagen...

pero sobre el papel no habria en principio ningun inconveniente
 
Por si sirve de ayuda, yo lo tengo así:

Código:
00 05 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/WakeUp.sh
10 05 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/Reboot.sh
15 05 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/Mantener_sbox.sh
16 05 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/Mantener_CCcam.sh
20 05 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/Standby.sh
50 12 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/libera_memoria.sh 
50 19 * * * sh /usr/lib/enigma2/python/Plugins/Extensions/LDteam/scripts/libera_memoria.sh

A las 5:00 despierta.
A las 5:05 descarga la EPG (no aparece en el cron, pero es una descarga programa de CrossEPG; es una prueba a ver qué pasa por cuioridad).
A las 5:10 reinicia.
A las 5:15 lanza el script para mantener CCcam vivo.
A las 5:16 lanza el script para mantener sbox vivo.
A las 05:20, a dormir.

12:50 y 19:50 libera memoria.

Hola, como se pone todo esto en giga.

Saludos.
 
Para mantener sbox seria exactamente igual pero cambiando el nombre del script?

y sustituyendo CCcam por sbox?

gracias
 
Para mantener sbox seria exactamente igual pero cambiando el nombre del script?

y sustituyendo CCcam por sbox?

gracias


Me autorespondo: SI.

ahora la pregunta es: Podriamos meterlo en la carpeta init.d y de este modo que lo arrancara en cada reinicio del deco ? como?

saludos
 
Me autorespondo: SI.

ahora la pregunta es: Podriamos meterlo en la carpeta init.d y de este modo que lo arrancara en cada reinicio del deco ? como?

saludos


Me uno a la peticion de viking7278.
 
Hola, ami tambien me gustaria saberlo, ya que tengo un azbox con una imagen basada en openpli y he consegido ejecutar el script por telnet pero no consigo hacerlo desde el crond, por mas que pruebo ordenes en el archivo root no consigo que arranque.., en cambio tengo un script de standby que sique me funciona en el crond con esta orden:
05 02 * * * wget -q -O - "http://root:elpassdemideco@127.0.0.1/web/powerstate?newstate=0"
en cambio este va asi y con el script en esta misma ruta que especifica y no funciona:
00 05 * * * root /usr/script/Comprobar_proceso.sh &
y ya no se que hacer..

salu2
 
Última edición:
No me he leído mas que los 2 últimos post ¿que queréis hacer exactamente? igual os puedo ayudar :p
 
Hola Lonas, gracias por responder, yo lo unico que quiero es conseguir que el script arranque desde el inicio, tengo un azbox pero el script me vale porque lanzandolo por telnet si que me funciona, pero con el cron no hay manera..tengo dos ordenes en la carpeta root del crond que si que me los ejecuta automaticos pero en el caso de este no hay manera de saber como tengo que escribir la orden para que lo haga..por cierto, llevo imagen vasada en openpli..y esta es la carpeta root del cron:

05 02 * * * wget -q -O - "http://root:mipassdeldeco@127.0.0.1/web/powerstate?newstate=0"
15 07 * * * wget -q -O - "http://root:mipassdeldeco@127.0.0.1/web/powerstate?newstate=4"
00 01 * * * /bin/sh /usr/script/Comprobar_proceso.sh &
el script ultimo lo tengo en esa ruta que escribo en la orden y los otros dos en /etc/cron/crontabs


salu2
 
Última edición:

Temas similares

R
Respuestas
1
Visitas
461
Javilonas
Javilonas
J
Respuestas
0
Visitas
698
juspahilon
J
J
Respuestas
3
Visitas
353
cen00
C
payback126
Respuestas
15
Visitas
2K
payback126
payback126
S
Respuestas
1
Visitas
342
sidesgame
S
Atrás
Arriba