1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Problema check oscam script in sh

Dieses Thema im Forum "Zona: Linux-Server" wurde erstellt von Nexet, 11. September 2013.

  1. Nexet
    Offline

    Nexet Ist gelegentlich hier

    Registriert:
    25. März 2012
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    salve , con la paura che l'oscam vada in crash vorrei creare uno script che controlli l'esecuzione di questa ogni tot in modo che nel peggiore caso andasse in crash lo script la riavvii . per rendere l'idea lo script sarebbe uguale al checkcccam.sh nella guida di alberto7 , lo script e questo (funge per la cccam) vorrei convertirlo per la oscam :

    #!/bin/bash
    CCCAM_CONFIG_FILE_PATH="/var/etc"
    CCCAM_EXECUTABLE_PATH="/usr/bin"
    NAME_OFF_CCCAM_EXECUTABLE="CCcam.x86"
    #
    function Check_CCcam {
    ps -eo comm,pid,etime > tmpcat
    PID=$(grep -i $NAME_OFF_CCCAM_EXECUTABLE tmpcat | awk -F" " '{ print $2}')
    TIME=$(grep -i $NAME_OFF_CCCAM_EXECUTABLE tmpcat | awk -F" " '{ print $3}')
    }
    #
    Check_CCcam
    if [ "$PID" = "" ]; then
    cd $CCCAM_EXECUTABLE_PATH
    ./$NAME_OFF_CCCAM_EXECUTABLE -C $CCCAM_CONFIG_FILE_PATH/CCcam.cfg

    fi
    exit 0

    ho provato a inserire nelle variabili i percorsi della oscam compreso l'eseguibile ma non funge .
     
    #1
  2. phantom

    Nervigen User Advertisement

  3. meister85
    Offline

    meister85 VIP

    Registriert:
    21. September 2009
    Beiträge:
    7.927
    Zustimmungen:
    5.229
    Punkte für Erfolge:
    113
    #2
  4. Nexet
    Offline

    Nexet Ist gelegentlich hier

    Registriert:
    25. März 2012
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: check oscam script in sh

    l'ho testato ma mi sa che non mi funge , se chiudo la oscam dando il comando kill (e il pid di oscam) poi avvio lo script e mi dice sempre
    2
    OScam is running
    2
    OScam is running
    2
    ma la oscam non funge e la devo avviare a mano, ho modificato anche il percorso del file binario perchè sta in /usr/bin/oscam ma non funge .
    gli ho dato anche i permessi di esecuzione ecc. ho anche avviato lo script con sudo .
     
    #3
  5. meister85
    Offline

    meister85 VIP

    Registriert:
    21. September 2009
    Beiträge:
    7.927
    Zustimmungen:
    5.229
    Punkte für Erfolge:
    113
    AW: check oscam script in sh

    Fai un stop di oscam e posta qui il commando ps aux in spoiler
     
    #4
  6. Nexet
    Offline

    Nexet Ist gelegentlich hier

    Registriert:
    25. März 2012
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: check oscam script in sh

    di oscam manco l'ombra , ma lo script dice sempre la solita cosa (is running)
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    root 1 0.9 0.2 3760 2052 ? Ss 12:21 0:02 /sbin/init
    root 2 0.0 0.0 0 0 ? S 12:21 0:00 [kthreadd]
    root 3 0.0 0.0 0 0 ? S 12:21 0:00 [ksoftirqd/0]
    root 4 0.0 0.0 0 0 ? S 12:21 0:00 [kworker/0:0]
    root 5 0.0 0.0 0 0 ? S< 12:21 0:00 [kworker/0:0H]
    root 6 0.0 0.0 0 0 ? S 12:21 0:00 [kworker/u:0]
    root 7 0.0 0.0 0 0 ? S< 12:21 0:00 [kworker/u:0H]
    root 8 0.0 0.0 0 0 ? S 12:21 0:00 [migration/0]
    root 9 0.0 0.0 0 0 ? S 12:21 0:00 [rcu_bh]
    root 10 0.2 0.0 0 0 ? S 12:21 0:00 [rcu_sched]
    root 11 0.0 0.0 0 0 ? S 12:21 0:00 [watchdog/0]
    root 12 0.0 0.0 0 0 ? S< 12:21 0:00 [cpuset]
    root 13 0.0 0.0 0 0 ? S< 12:21 0:00 [khelper]
    root 14 0.0 0.0 0 0 ? S 12:21 0:00 [kdevtmpfs]
    root 15 0.0 0.0 0 0 ? S< 12:21 0:00 [netns]
    root 16 0.0 0.0 0 0 ? S 12:21 0:00 [bdi-default]
    root 17 0.0 0.0 0 0 ? S< 12:21 0:00 [kintegrityd]
    root 18 0.0 0.0 0 0 ? S< 12:21 0:00 [kblockd]
    root 19 0.0 0.0 0 0 ? S< 12:21 0:00 [ata_sff]
    root 20 0.0 0.0 0 0 ? S 12:21 0:00 [khubd]
    root 21 0.0 0.0 0 0 ? S< 12:21 0:00 [md]
    root 22 0.0 0.0 0 0 ? S< 12:21 0:00 [devfreq_wq]
    root 23 0.0 0.0 0 0 ? S 12:21 0:00 [kworker/0:1]
    root 24 0.0 0.0 0 0 ? S 12:21 0:00 [khungtaskd]
    root 25 0.0 0.0 0 0 ? S 12:21 0:00 [kswapd0]
    root 26 0.0 0.0 0 0 ? SN 12:21 0:00 [ksmd]
    root 27 0.0 0.0 0 0 ? SN 12:21 0:00 [khugepaged]
    root 28 0.0 0.0 0 0 ? S 12:21 0:00 [fsnotify_mark]
    root 29 0.0 0.0 0 0 ? S 12:21 0:00 [ecryptfs-kthrea]
    root 30 0.0 0.0 0 0 ? S< 12:21 0:00 [crypto]
    root 41 0.0 0.0 0 0 ? S< 12:21 0:00 [kthrotld]
    root 42 0.0 0.0 0 0 ? S 12:21 0:00 [kworker/u:1]
    root 43 0.0 0.0 0 0 ? S 12:21 0:00 [scsi_eh_0]
    root 44 0.0 0.0 0 0 ? S 12:21 0:00 [scsi_eh_1]
    root 45 0.0 0.0 0 0 ? S 12:21 0:00 [kworker/u:2]
    root 46 0.0 0.0 0 0 ? S 12:21 0:00 [kworker/u:3]
    root 47 0.0 0.0 0 0 ? S< 12:21 0:00 [binder]
    root 48 0.0 0.0 0 0 ? S 12:21 0:00 [kworker/u:4]
    root 53 0.0 0.0 0 0 ? S 12:21 0:00 [kworker/0:2]
    root 68 0.0 0.0 0 0 ? S< 12:21 0:00 [deferwq]
    root 69 0.0 0.0 0 0 ? S< 12:21 0:00 [charger_manager]
    root 70 0.0 0.0 0 0 ? S 12:21 0:00 [kworker/0:3]
    root 196 0.0 0.0 0 0 ? S< 12:21 0:00 [kdmflush]
    root 198 0.0 0.0 0 0 ? S< 12:21 0:00 [kdmflush]
    root 213 0.0 0.0 0 0 ? S 12:21 0:00 [jbd2/dm-0-8]
    root 214 0.0 0.0 0 0 ? S< 12:21 0:00 [ext4-dio-unwrit]
    root 305 0.0 0.0 2888 596 ? S 12:21 0:00 upstart-file-bridge --daemon
    root 314 0.1 0.0 2892 612 ? S 12:21 0:00 upstart-udev-bridge --daemon
    root 318 0.0 0.1 2888 1112 ? Ss 12:21 0:00 /sbin/udevd --daemon
    root 332 0.0 0.0 0 0 ? S< 12:21 0:00 [kworker/0:1H]
    root 397 0.0 0.0 2884 732 ? S 12:21 0:00 /sbin/udevd --daemon
    root 398 0.0 0.0 2884 676 ? S 12:21 0:00 /sbin/udevd --daemon
    root 414 0.0 0.0 0 0 ? S< 12:21 0:00 [kpsmoused]
    102 576 0.1 0.1 3280 1180 ? Ss 12:22 0:00 dbus-daemon --system --fork
    syslog 605 0.0 0.1 30096 1284 ? Sl 12:22 0:00 rsyslogd -c5
    root 631 0.0 0.0 0 0 ? S 12:22 0:00 [flush-8:0]
    root 632 0.0 0.0 0 0 ? S 12:22 0:00 [flush-252:0]
    root 634 0.0 0.2 5532 1860 ? Ss 12:22 0:00 dhclient -1 -v -pf /run/dhclient.eth0.pid -lf
    root 661 0.0 0.0 3008 620 ? S 12:22 0:00 upstart-socket-bridge --daemon
    root 671 0.0 0.3 6852 2356 ? Ss 12:22 0:00 /usr/sbin/sshd -D
    root 700 0.0 0.1 4872 988 ? Ss 12:22 0:00 /usr/sbin/vsftpd
    root 817 0.0 0.1 4664 856 tty4 Ss+ 12:22 0:00 /sbin/getty -8 38400 tty4
    root 830 0.0 0.1 4664 860 tty5 Ss+ 12:22 0:00 /sbin/getty -8 38400 tty5
    root 839 0.0 0.1 4664 852 tty2 Ss+ 12:22 0:00 /sbin/getty -8 38400 tty2
    root 842 0.0 0.1 4664 852 tty3 Ss+ 12:22 0:00 /sbin/getty -8 38400 tty3
    root 848 0.0 0.1 38424 1460 ? Ssl 12:22 0:00 /usr/bin/CCcam.x86 -v
    root 852 0.0 0.1 4664 852 tty6 Ss+ 12:22 0:00 /sbin/getty -8 38400 tty6
    root 877 0.0 0.0 2212 616 ? Ss 12:22 0:00 acpid -c /etc/acpi/events -s /var/run/acpid.s
    root 884 0.0 0.1 2780 784 ? Ss 12:22 0:00 cron
    daemon 885 0.0 0.0 2636 128 ? Ss 12:22 0:00 atd
    root 984 0.0 0.1 4664 856 tty1 Ss+ 12:22 0:00 /sbin/getty -8 38400 tty1
    whoopsie 997 0.0 0.4 33788 3304 ? Ssl 12:22 0:00 whoopsie
    root 1231 0.3 0.4 10188 3332 ? Ss 12:24 0:00 sshd: ubuntu-sky [priv]
    root 1237 0.0 0.0 0 0 ? S 12:25 0:00 [kauditd]
    root 1239 0.1 0.4 29260 3320 ? Sl 12:25 0:00 /usr/sbin/console-kit-daemon --no-daemon
    root 1306 0.0 0.3 24940 2924 ? Sl 12:25 0:00 /usr/lib/policykit-1/polkitd --no-debug
    1000 1457 0.1 0.2 10188 1700 ? S 12:25 0:00 sshd: ubuntu-sky@pts/0
    1000 1458 0.4 0.4 7428 3524 pts/0 Ss 12:25 0:00 -bash
    1000 1645 0.0 0.1 5236 1156 pts/0 R+ 12:26 0:00 ps aux

    questo e il mio script

    #! /bin/sh
    while sleep 3
    do
    if sudo ps x | grep -v grep | grep -c oscam -b
    then
    echo "OScam is running"
    else
    echo `date` "OScam crashed! Restarting OScam." >> /var/log/watchdog.log
    /usr/bin/oscam -b
    fi
    done

    per avviare la oscam do il comando /usr/bin/oscam -b e si avvia.
     
    Zuletzt bearbeitet: 11. September 2013
    #5
  7. meister85
    Offline

    meister85 VIP

    Registriert:
    21. September 2009
    Beiträge:
    7.927
    Zustimmungen:
    5.229
    Punkte für Erfolge:
    113
    AW: check oscam script in sh

    L´attributi del scipt lai messi a 775? Le configs ce l´hai nella cartella default?
     
    #6
  8. Nexet
    Offline

    Nexet Ist gelegentlich hier

    Registriert:
    25. März 2012
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: check oscam script in sh

    sisi ha gia i permessi 775 le configs (oscam.conf oscam.server ecc.) sono in /etc/oscam/
     
    #7
  9. meister85
    Offline

    meister85 VIP

    Registriert:
    21. September 2009
    Beiträge:
    7.927
    Zustimmungen:
    5.229
    Punkte für Erfolge:
    113
    AW: check oscam script in sh

    allora devi modificare il script cosi /usr/bin/oscam -b -c /etc/oscam/
     
    #8
  10. Nexet
    Offline

    Nexet Ist gelegentlich hier

    Registriert:
    25. März 2012
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: check oscam script in sh

    nulla da fare , l'unica cosa che cambia da quando fermo l'oscam è il numero che stampa a video da 4 passa a 2 quando chiudo l'oscam , ma dice sempre is running
    4
    OScam is running
    4
    OScam is running
    4
    OScam is running
    4
    OScam is running (qua ho chiuso l'oscam)
    2
    OScam is running
    2
    OScam is running
    2
    OScam is running

    #! /bin/sh
    while sleep 3
    do
    if sudo ps x | grep -v grep | grep -c oscam -b
    then
    echo "OScam is running"
    else
    echo `date` "OScam crashed! Restarting OScam." >> /var/log/watchdog.log
    /usr/bin/oscam -b -c /etc/oscam/
    fi
    done
     
    #9
  11. Nexet
    Offline

    Nexet Ist gelegentlich hier

    Registriert:
    25. März 2012
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: check oscam script in sh

    edit , ho provato a testarlo con la cccam (cambiando un paio di righe) e lo script funziona , l'errore sta nel controllo in ps x , vede la oscam sempre in esecuzione
    EDIT fose ho capito , quando riavvio il server in automatico mi parte l'oscam però in ps aux ci sono due processi di oscam:
    root 836 0.0 0.0 5164 428 ? Ss 13:45 0:00 /usr/bin/oscam -b -c /etc/oscam
    root 838 32.2 0.3 9568 2484 ? Sl 13:45 0:04 /usr/bin/oscam -b -c /etc/oscam

    non capisco il perchè
     
    #10
  12. meister85
    Offline

    meister85 VIP

    Registriert:
    21. September 2009
    Beiträge:
    7.927
    Zustimmungen:
    5.229
    Punkte für Erfolge:
    113
    AW: check oscam script in sh

    Non ti so spiegare perche, ma e normale.
     
    #11
  13. Nexet
    Offline

    Nexet Ist gelegentlich hier

    Registriert:
    25. März 2012
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: check oscam script in sh

    ah ecco XDD , quindi il problema rimane , uff anche se chiudol'oscam e in ps aux non c'è ombra lo script lo vede ancora di fatti lui vede 4 processi di oscam attivi e io da ps aux ne vedo solo due e quando li chiudo lo script vede altri 2 processi attivi O_O
     
    #12
  14. meister85
    Offline

    meister85 VIP

    Registriert:
    21. September 2009
    Beiträge:
    7.927
    Zustimmungen:
    5.229
    Punkte für Erfolge:
    113
    AW: check oscam script in sh

    Fai una cosa. Metti il scipt nella rc.local che viene riavviato automaticamente. Poi riavvia il server. Dopo questo vai sul webinterface e vai su shutdown e ammazza :D questa cavola di oscam tramite webif. Aspetta un minuto e poi vedi sel il script va. Dopo massimo 30 secondi il script normalmente dovrebbe attacare e riavviare l´oscam.
     
    #13
  15. Nexet
    Offline

    Nexet Ist gelegentlich hier

    Registriert:
    25. März 2012
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: check oscam script in sh

    nulla da fare , mi vede 2 processi in esecuzione di oscam , ho risolto creandomi uno script io un pò diverso , spiego se puo' servire a qualcuno :
    avendo lo script che mi permette di visualizzare lo stato della oscam con il comando [FONT=&amp]/etc/init.d/oscam status mi sono andato a creare un check.sh in cui mi ripeteva questo comando tramite ciclo while ogni tot secondi (nel mio caso 10) ,questo check.sh l'ho reso avviabile ad ogni boot tramite rc.local in modo che al riavvio parte il ciclo ogni 10 secondi.
    poi mi sono modificato il file oscam che mi oermette di visualizzare lo stato in modo che se la socam non fosse in esecuzione la riavvia .
    ecco i due files.

    [/FONT]/etc/init.d/oscam[FONT=&amp]

    [/FONT]
    #!/bin/bash -p
    # Start/stop the OScam daemon.
    #
    ### BEGIN INIT INFO
    # Provides: oscam
    # Required-Start: $syslog $network $pcscd
    # Required-Stop: $syslog $network $pcscd
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: Start and Stop OScam
    # Description: OScam init script. This script start and stop OScam.
    ### END INIT INFO

    . /lib/lsb/init-functions

    NAME="OScam"
    DESC="SoftCam emulator"
    DAEMON=/usr/bin/oscam
    CONFIG_DIR=/etc/oscam
    PIDFILE=/var/run/oscam.pid
    LOG=/var/log/oscam.log
    LOGUSR=/var/log/oscamuser.log
    LOGCW=/var/log/cw.log
    STARTAS="$DAEMON -- -b -c $CONFIG_DIR"

    test -f $DAEMON || exit 0
    [ -x $DAEMON ] || exit 0
    [ -d $CONFIG_DIR ] || exit 0

    clear_file() {
    # Clear log and pid file if exists
    if [ -e $PIDFILE ]
    then
    rm -f $PIDFILE
    fi

    # if [ -e $LOG ]
    # then
    # rm -f $LOG
    # fi

    # if [ -e $LOGUSR ]
    # then
    # rm -f $LOGUSR
    # fi

    # if [ -e $LOGCW ]
    # then
    # rm -f $LOGCW
    # fi

    }


    get_status()
    {
    if start-stop-daemon --start --startas $DAEMON --test \
    --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null
    then
    echo " - is not running."
    /etc/init.d/oscam restart
    exit 3
    else
    echo " - is running."
    exit 0
    fi
    }


    start_oscam()
    {
    # only start oscam if there is no other instance running
    if start-stop-daemon --start --startas $DAEMON --test \
    --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null
    then
    start-stop-daemon --start --quiet --exe $DAEMON \
    --name $(basename $DAEMON) --pidfile $PIDFILE --startas $STARTAS
    else
    echo -n " - seems to be running already"
    fi
    }

    stop_oscam()
    {
    if start-stop-daemon --stop --retry 30 \
    --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null

    then
    start-stop-daemon --stop --retry 30 --oknodo --exec $DAEMON >/dev/null
    rm -f $PIDFILE
    clear_file
    else
    echo -n " - seems not to be running"
    fi
    }


    case "$1" in

    start)
    # clear_file
    echo -n "Starting $DESC: $NAME"
    # start-stop-daemon --start --quiet --exe $DAEMON --pidfile $PIDFILE --startas $STARTAS
    start_oscam
    echo "."
    ;;

    stop)
    echo -n "Stopping $DESC: $NAME"
    # start-stop-daemon --stop --quiet --exe $DAEMON
    stop_oscam
    echo "."
    ;;

    restart)
    echo -n "Restarting $DESC: $NAME"
    # start-stop-daemon --stop --retry 5 --quiet --exe $DAEMON
    # clear_file
    # start-stop-daemon --start --quiet --exe $DAEMON --startas $STARTAS
    stop_oscam
    sleep 2
    start_oscam
    echo "."
    ;;

    status)

    # status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
    echo -n "Getting status of $DESC: $NAME"
    get_status
    ;;
    *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|status}" >&2
    exit 2
    ;;

    esac

    exit 0
    [FONT=&amp]

    [/FONT][FONT=&amp]check.sh
    #! /bin/sh
    while sleep 10
    do
    /etc/init.d/oscam status
    done
    [/FONT]
     
    Zuletzt bearbeitet: 12. September 2013
    #14

Diese Seite empfehlen