Моля ,кажете някой скрипт ,който следи дали работи оскам и ако е спряла да я рестартира.
Става въпрос за ubuntu 12.04 ,
oscm bin e в /usr/local/bin, а конфизите в /usr/local/etc.
Моля ,кажете някой скрипт ,който следи дали работи оскам и ако е спряла да я рестартира.
Става въпрос за ubuntu 12.04 ,
oscm bin e в /usr/local/bin, а конфизите в /usr/local/etc.
Пътищата и името на бинарния файл си ги редактирай сам.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
Въпрос ,:
доолкото разбирам се прави текстов файл,копира се в него съдаржанието на скрипта,преименува се в oscam.check,
после му се дават права 755.В коя директория се слага /var/cccamlog, /var/oscam/log
Колега ако искаш да научиш нещо първо прочети тогава питай. Софтуера е нищо повече от логическо мислене и четене. Прочети какво прави командата echo ще ти отнеме минути и така хем знаеш повече и няма да задаваш въпроси които предварително трябва да си прочел. При условие че искаш да използваш oscam и linux познанието на основни команди е задължително.
По въпроса ти слагаш скрипта в /home директорията на потребителя и изпълнението му се настройва с програмата crontab. Относно името най добре да е oscam_check.sh Относно лог директорията задай тази в която се намира скрипта.
Малко допълнение преди да се пусне нова тема първо се използва търсачката http://www.satsupreme.com/showthread...restart-DM-500
Няма разлика дали е на dm-500 или на компютър само пътя до изпълнимите файлове трябва да се променят.
Според мен тази тема е за заключване, но все пак си начинаещ, ще ти дам възможност да питаш, стига да си се подготвил за въпросите си.
Този форум е сериозен, така че и вие трябва да се отнесете сериозно към участието си в него. Знам че никои не се е родил научен, но трябва малко усилие и от ваша страна.
Ето тук има и коментари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-а
Рестартиращия (първия скрипт) се посочва в crontab-а така (примерно):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
Code:*/5 * * * * root /emu/oscam/check_oscam > /dev/null
защо се правят излишни неща ? сложни скриптове и т.н.
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
Една молба имам.Нека някой който има време и разбира,да напише рестартираш скрипт за оскам за ubunto 12.04.
Например стандартно оскам се намира в /user/local/bin.
Да напише как да бъде наименован файла,къде да се сложи и какви права да му се дадат.
И къде и какви настройки да има за crontab.
Благодаря предварително,мисля че ще бъде полезно за всички.
1.за да научиш нещо ,не винаги е толкова лесно.Уважавам труда ви
2,А иначе имам сървър искам да не пада
3.Това ще е полезно за много хора
1. Инсталираш си програмата daemontools
2. Създаваш нужната директория за oscamCode:apt-get install daemontools daemontools-run
3. Създаваш скрипта за oscamCode:sudo mkdir /etc/service/oscam
4. Сържанието на файла е (слага се командата ни за стартиране на oscam след exec)Code:sudo nano /etc/service/oscam/run
5. Запазваме файла и даваме права на директорията и файла.Code:#!/bin/sh exec /opt/oscam/oscam -c /opt/oscam
6. Рестартираме компютъра.Code:sudo chmod 1755 -R /etc/service
Това е колега по-просто няма как да се обясни, а и не мисля, че е нужно.