Page 1 of 3 123 LastLast
Results 1 to 10 of 27

Thread: Рестартиращ скрипт за oscam и Ubuntu

  1. #1

    Рестартиращ скрипт за oscam и Ubuntu

    Моля ,кажете някой скрипт ,който следи дали работи оскам и ако е спряла да я рестартира.
    Става въпрос за ubuntu 12.04 ,
    oscm bin e в /usr/local/bin, а конфизите в /usr/local/etc.

  2. #2

    Re: Рестсртиращ скрипт за оскам за Убунту

    Code:
    process=`ps auxwww | grep oscam | grep -v grep | awk '{print $1}'`
    if [ -z "$process" ]; then
    echo && date >> /var/cccamlog/oscam.check
    echo "Couldn't find oscam running. Restarting server-binary" >> /var/oscamlog/oscam.check 
    /usr/local/bin/oscam -b &
    else echo "Oscam is still OK!" >> /var/cccamlog/oscam.check 
    fi
    Пътищата и името на бинарния файл си ги редактирай сам.

  3. #3

    Re: Рестсртиращ скрипт за оскам за Убунту

    Въпрос ,:
    доолкото разбирам се прави текстов файл,копира се в него съдаржанието на скрипта,преименува се в oscam.check,
    после му се дават права 755.В коя директория се слага /var/cccamlog, /var/oscam/log

  4. #4
    Super Moderator turbopower's Avatar
    Join Date
    02-07-2011
    Location
    Somewhere between the Streams
    Posts
    3,512
    Uploads
    112

    Re: Рестсртиращ скрипт за оскам за Убунту

    Колега ако искаш да научиш нещо първо прочети тогава питай. Софтуера е нищо повече от логическо мислене и четене. Прочети какво прави командата echo ще ти отнеме минути и така хем знаеш повече и няма да задаваш въпроси които предварително трябва да си прочел. При условие че искаш да използваш oscam и linux познанието на основни команди е задължително.

    По въпроса ти слагаш скрипта в /home директорията на потребителя и изпълнението му се настройва с програмата crontab. Относно името най добре да е oscam_check.sh Относно лог директорията задай тази в която се намира скрипта.

    Малко допълнение преди да се пусне нова тема първо се използва търсачката http://www.satsupreme.com/showthread...restart-DM-500

    Няма разлика дали е на dm-500 или на компютър само пътя до изпълнимите файлове трябва да се променят.
    Според мен тази тема е за заключване, но все пак си начинаещ, ще ти дам възможност да питаш, стига да си се подготвил за въпросите си.

    Този форум е сериозен, така че и вие трябва да се отнесете сериозно към участието си в него. Знам че никои не се е родил научен, но трябва малко усилие и от ваша страна.

  5. #5
    Contributing Member mminkov's Avatar
    Join Date
    27-02-2011
    Location
    Shumen, BG
    Posts
    503
    Uploads
    7

    Re: Рестсртиращ скрипт за оскам за Убунту

    Quote Originally Posted by g_f_g View Post
    Моля ,кажете някой скрипт ,който следи дали работи оскам и ако е спряла да я рестартира.
    Code:
    #!/bin/bash
    if ! ps x |grep -v grep |grep -c /emu/oscam/oscam.x86 >/dev/null
     then
     /emu/oscam/oscript start
     echo `date "+%d/%m/%y %R process was not working"` >> /var/log/oscam-restart.log
    # This part above will check if there is NO oscam process running.
    # And if this condition it truth, it will start it and write to log.
    # Log entry will contain time stamp and reason of execution (process not working)
    # If first condition in not truth (oscam was running), go further to next condition.
    elif
     tail -8 /var/log/oscam.log |grep -v grep |grep -c ins40 >/dev/null
    then
     /emu/oscam/oscript restart
     echo `date "+%d/%m/%y %R ins40 error detected"` >> /var/log/oscam-restart.log
    elif
     tail -8 /var/log/oscam.log |grep -v grep |grep -c trylock >/dev/null
    then
     /emu/oscam/oscript restart
     echo `date "+%d/%m/%y %R trylock error detected"` >> /var/log/oscam-restart.log
    # Those 2 conditions will look for 2 common errors in Oscam: "ins40" and "trylock"
    # If last 8 lines of your oscam.log contain any of those errors, it will restart oscam.
    # Log entries will include the exact reason of restart.
    # ins40 error is random error that will keep oscam running but no CWs returned.
    # trylock is older error that appear if you use CCcam protocol in oscam.server
    else
     echo "ok"
    # If oscam passes all conditions and all is OK, it will simply echo "ok" :-)
    fi
    Ето тук има и коментари

    А това е oscript-а
    Code:
    #!/bin/sh
    CAMNAME="Oscam Server"
    # end
    # This method starts Oscam
    start_cam ()
    {
    pkill -9 oscam.x86
    sleep 2
    /emu/oscam/oscam.x86 -b
    }
    # This method stops Oscam
    stop_cam ()
    {
    pkill -9 oscam.x86
    }
    case "$1" in
    start)
    echo "[SCRIPT] $1: $CAMNAME"
    start_cam
    ;;
    stop)
    echo "[SCRIPT] $1: $CAMNAME"
    stop_cam
    ;;
    restart)
    echo "Restaring $CAMNAME"
    stop_cam
    sleep 7
    start_cam
    ;;
    *)
    "$0" stop
    exit 1
    ;;
    esac
    exit 0
    Рестартиращия (първия скрипт) се посочва в crontab-а така (примерно):
    Code:
    */5 * * * *     root    /emu/oscam/check_oscam > /dev/null

  6. #6

    Re: Рестсртиращ скрипт за оскам за Убунту

    защо се правят излишни неща ? сложни скриптове и т.н.

    Code:
    root@cam:~# apt-cache search daemontools-run
    daemontools-run - daemontools service supervision
    
    root@cam:~# ps xa | grep -i supervise
      363 ?        S      0:00 supervise oscam
    
    root@cam:~# ls -la /etc/service/oscam/run 
    -rwxr-xr-x 1 root root 46 Jun  8 20:27 /etc/service/oscam/run
    
    root@cam:~# cat /etc/service/oscam/run 
    #!/bin/sh
    exec /opt/oscam/oscam -c /opt/oscam

  7. #7

    Re: Рестсртиращ скрипт за оскам за Убунту

    Една молба имам.Нека някой който има време и разбира,да напише рестартираш скрипт за оскам за ubunto 12.04.
    Например стандартно оскам се намира в /user/local/bin.
    Да напише как да бъде наименован файла,къде да се сложи и какви права да му се дадат.
    И къде и какви настройки да има за crontab.
    Благодаря предварително,мисля че ще бъде полезно за всички.

  8. #8
    Super Moderator turbopower's Avatar
    Join Date
    02-07-2011
    Location
    Somewhere between the Streams
    Posts
    3,512
    Uploads
    112

    Re: Рестсртиращ скрипт за оскам за Убунту

    Quote Originally Posted by g_f_g View Post
    Една молба имам.Нека някой който има време и разбира,да напише рестартираш скрипт за оскам за ubunto 12.04.
    Например стандартно оскам се намира в /user/local/bin.
    Да напише как да бъде наименован файла,къде да се сложи и какви права да му се дадат.
    И къде и какви настройки да има за crontab.
    Благодаря предварително,мисля че ще бъде полезно за всички.
    Каква е целта ти, да се научиш нещо ново, или някой да ти даде готов, скрипт без да знаеш какво има в него, само да го поставиш на правилното място ?

  9. #9

    Re: Рестсртиращ скрипт за оскам за Убунту

    1.за да научиш нещо ,не винаги е толкова лесно.Уважавам труда ви
    2,А иначе имам сървър искам да не пада
    3.Това ще е полезно за много хора

  10. #10
    Super Moderator turbopower's Avatar
    Join Date
    02-07-2011
    Location
    Somewhere between the Streams
    Posts
    3,512
    Uploads
    112

    Re: Рестсртиращ скрипт за оскам за Убунту

    1. Инсталираш си програмата daemontools

    Code:
    apt-get install daemontools daemontools-run
    2. Създаваш нужната директория за oscam

    Code:
    sudo mkdir /etc/service/oscam
    3. Създаваш скрипта за oscam

    Code:
    sudo nano /etc/service/oscam/run
    4. Сържанието на файла е (слага се командата ни за стартиране на oscam след exec)

    Code:
    #!/bin/sh 
    
    exec /opt/oscam/oscam -c /opt/oscam
    5. Запазваме файла и даваме права на директорията и файла.

    Code:
    sudo chmod 1755 -R /etc/service
    6. Рестартираме компютъра.

    Това е колега по-просто няма как да се обясни, а и не мисля, че е нужно.

Page 1 of 3 123 LastLast

Similar Threads

  1. Replies: 22
    Last Post: 03-03-2013, 01:00:46
  2. Replies: 0
    Last Post: 04-07-2012, 21:08:27
  3. Replies: 5
    Last Post: 15-02-2012, 23:44:58
  4. Replies: 20
    Last Post: 21-12-2011, 00:04:49
  5. Replies: 0
    Last Post: 24-11-2011, 17:30:47

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •