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 d enuevo 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