Am sa incep cu un script simplu care verifica daca procesul oscam exista, in caz contrar il va deschide.
###################################
#!/bin/bash
SERVICE='oscam'
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
exit 0
else
echo "$SERVICE is not running";
/usr/sbin/oscam start
fi
###################################
schimbati oscam cu numele procesului oscam(oscam.x86, oscam-svn sunt comune)
copiati ce este inclus intre # inclusiv #!/bin/bash
creati un fisier in /usr/sbin cu numele oscam.check
lipiti in acel fisier ce ati copiat mai devreme, salvati,
scrieti in consola: chmod 755 /usr/sbin/oscam.check
scrieti in consola: crontab -e
lipiti: 0 */1 * * * /usr/sbin/oscam.check

In acest mod, oscam.check va rula in fiecare ora pentru a verifica daca procesul oscam exista.

Desi, eu folosesc oscam de mult timp si nu mi s-a intamplat niciodata sa crape.

Scriptul este simplu, nu genereaza nici un log.

---------- Post added at 18:54 ---------- Previous post was at 18:43 ----------
script pentru a executa reporni si opri oscam simplu

Copiati de la linia #!/bin/bash pana la exit 0, Instructiunile sunt dupa exit 0
########################################################################
#!/bin/bash


CAMNAME="Oscam Server"
#Schimbati in ce vreti voi


# Location of OSCAM emu
OSCAM_BIN_PATH=/var/bin
#schimbati /var/bin cu locatia executabilului oscam


# EXACT name of OSCAM EMU (BINARY FILE)
OSCAM_BIN=oscam.x86
#schimbati oscam.x86 cu numele real al executabilului


# Location of OSCAM configuration file (oscam.conf); /var/etc by default)
OSCAM_CFG_PATH=/usr/local/etc
#schimbati /usr/local/etc cu locatia fisierului oscam.conf


# EXACT name of OSCAM configuration file (OSCAM.cfg by default)
OSCAM_CFG_NAME=oscam.conf

#daca ati redenumit numele standard din oscam.conf atunci schimbati si mai sus


####################################################




#NU SCHIMBATI NIMIC JOS


start_cam ()
{
rm -rf $OSCAM_CFG_PATH/oscam.log > /dev/null 2>&1
sleep 1
$OSCAM_BIN_PATH/$OSCAM_BIN -b > $OSCAM_CFG_PATH/oscam.log
}




stop_cam ()
{
killall -9 $OSCAM_BIN
}




case "$1" in


start)
echo "[SCRIPT] $1: $CAMNAME"
start_cam
;;




stop)
echo "[SCRIPT] $1: $CAMNAME"
stop_cam
;;




restart)
echo "Restarting $CAMNAME"
killall -9 $OSCAM_BIN
sleep 1
rm -rf $OSCAM_CFG_PATH/oscam.log > /dev/null 2>&1
sleep 1
$OSCAM_BIN_PATH/$OSCAM_BIN -b > $OSCAM_CFG_PATH/oscam.log
;;




*)
echo "Allowed options > start | stop | restart <"
exit 1
;;




esac
exit 0
################################################################

creati un fisier in /usr/sbin care poate fi denumit oscam.sh
faceti chmod 755 /usr/sbin/oscam.sh
salvati
Testati cu comenzile: oscam start sau oscam stop sau oscam restart

---------- Post added at 19:01 ---------- Previous post was at 18:54 ----------
verificare cpu consumat de oscam si repornire in caz ca consuma mai mult de 80% din total

creati un fisier in /usr/sbin cu numele oscamcheckcpu.sh
lipiti de la #!/bin/bash pana la /usr/sbin/oscam.check >> /dev/null 2>&1
#######################################
#!/bin/bash
max_oscam=$(ps -C oscam.x86 -o user,pid,pcpu,pmem,vsz --no-headers | awk '{ if ( $3 > 80) print $2}')
if [ -z "$max_oscam" ]; then
echo "oscam ok" #>> /var/etc/oscamkill.log
echo && date #>> /var/etc/oscamkill.log
else
echo && date #>> /var/etc/oscamkill.log
echo oscam killed
kill -9 $max_oscam
fi
/usr/sbin/oscam.check >> /dev/null 2>&1
#######################################
lipiti in acel fisier ce ati copiat mai devreme, salvati,
scrieti in consola: chmod 755 /usr/sbin/oscamcheckcpu.sh
scrieti in consola: crontab -e
lipiti: 0 */1 * * * /usr/sbin/oscamcheckcpu.sh

dupa cum vedeti, aveti nevoie de oscam.check prezentat mai devreme.

Intrebari?