oscam скрипт anti-killing
Здравейте. Искам да си направя скрипт който да стартира оскама след като се е килнал поради някаква причина. Скрипта е с име oscam.check , задал съм му права 755 и съм го сложил в папка /etc/oscam.check
Bin файла на oscam се намира в папка /usr/bin/oscam , съответно и бин файла с права 755 Във файла oscam.config съм задал оскама да генерира log файл в папка /tmp/oscam.log Та с две думи това го пробвах, но не действа при мен нещо. В crondtab съм задал времето за което да се стартира скрипта. Всяка минута и съответно пътя до скрипта като root. Ако можете да помогнете да се справя с този проблем. Скрипта може да изглежда и по друг начин, това не е от значение. Важно е да ми активира оскама след като се килне. Сървър ubuntu 14.04 x64 ако това е от значение за скрипта. PHP код:
PHP код:
|
Този скрипт не трябва да се интересува от пътя до конфизите защото те не са изпълними файлове. Той трябва да се интересува от log файла. Спрат ли логовете би трябвало да стане ясно за скрипта, че оскама е забил.
|
|
nano /etc/init.d/oscam
------------------------------------------------------------------------ #!/bin/sh ### BEGIN INIT INFO # Provides: oscam # Required-Start: $network $syslog # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: OSCam # Description: OSCam: Open Source CAM ### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin . /lib/lsb/init-functions NAME="OSCam" PROGRAM="/usr/local/bin/oscam" OPTIONS="-b --pidfile /run/oscam.pid" DESCR="OSCam: Open Source CAM" if [ -r /etc/default/$NAME ]; then . /etc/default/$NAME fi case "$1" in start) log_daemon_msg "Starting $DESCR" STATUS=`ps ax | awk '$5 == "/usr/local/bin/oscam" { print $1 }'` if [ -z "${STATUS}" ]; then $PROGRAM $OPTIONS res=0 else res=1 fi case "$res" in 0) log_end_msg 0 ;; 1) log_progress_msg "already started" log_end_msg 0 ;; *) log_end_msg 1 ;; esac ;; stop) log_daemon_msg "Stopping $DESCR" SRV_STATUS=`ps ax | awk '$5 == "/usr/local/bin/oscam" { print $1 }'` if [ -n "${SRV_STATUS}" ]; then # stop OSCam for PID in $SRV_STATUS; do kill -KILL $PID done rm /run/oscam.pid res=0 else res=1 fi case "$res" in 0) log_end_msg 0 ;; 1) log_progress_msg "already stopped" log_end_msg 0 ;; *) log_end_msg 1 ;; esac ;; restart) $0 stop sleep 1 $0 start ;; status) status_of_proc "$PROGRAM" "$NAME" && exit 0 || exit $? ;; *) log_success_msg "Usage: /etc/init.d/pppoe-server {start|stop|restart|status}" exit 1 ;; esac exit 0 това работи на 100% |
Цитирай:
1. Скрипта е в папка /etc/oscam.check. По средата на изпълнението му се опитва да пише в себе си: PHP код:
PHP код:
2. При старта на оскам пренасочваш изхода от оскам към лог. PHP код:
PHP код:
PHP код:
Логовете да са в /var/log/. Добре ще бъде името на скрипта да не съдържа думата oscam. И накрая: не знам дали изобщо ще ти е необходим този скрипт ако стартираш oscam с опцията PHP код:
PHP код:
Би трябвало да е: PHP код:
|
@spaice
Същото написах преди час по-горе. Във втория пост, добавих и готов скрипт от работеща машина с няколко емулатора. Но, колегата изрази съмнение, че това е правилно, и реших да ги махна за да не "подвеждаме" хората. |
Цитирай:
Така като гледам е необходимо само да задам в oscam.config файла oscam.pid да се активира в папка /run/oscam.pid. И да оправя пътя на скрипта до моя oscam bin файл, който е /usr/bin/oscam. При твоя вариант не е необходимо в crond да се активира време за старт на скрипта? Също така срипта ти се намира в /etc/init.d/oscam му е името. Довечера ще го пробвам и ще пиша. |
Ползвай "pidof" за ориентир! Работи най-бързо ;;650
emu_run=`pidof -s $emu_name` после проверка дали го има и си ти ;) |
Цитирай:
(приятелска закачка) ;;650 |
Цитирай:
Не разбрах кое е подвеждащото? Посочил съм грешките. Ако и ти си направил същото, значи няма подвеждане. |
Всички времена са във формат GMT +3. Часът е 16:58. |
DTV-BG Powered by vBulletin Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.