Имам следният проблем: Опитвам се да направя един скрипт да се стартира автоматично със старта на Енигмата на приемника и не успявам. Скрипта е следният: sh /var/bin/spcs.sh start. Слагах го къде ли не - като ред в /etc/init.d/rcS - не става, в /etc/rc.d/rcS.d/S99..(ln -s /etc/init.d/start.sh /etc/rc.d//rcS.d/S99start.sh) като линк към скрипта в /etc/init.d - задавам атрибути 755 на скрипта и нищо ...не иска да стартира при страта на Енигмата. Странното е че командата стартира - /var/bin/spcs.sh start
през телнета, а също и през Allinone менюто като скрипт в sbin!!!
Приемника е IPBox 99 с Енигма 2 - Nocturno.
Моля за помощ знаещите - вече два дни се боря като свиня с тиква!
Благодаря предварително на всички отзовали се!
Ако енигмата ти има файл rcS_user.sh в /var/etc, пробвай там да вкараш командата...
Цитат на: uniqad;131809Ако енигмата ти има файл rcS_user.sh в /var/etc, пробвай там да вкараш командата...
Няма такъв файл....
Пробвах и да създам rcS_user.sh във /var/etc/....пак без никакъв успех!
Ако ти позволява да редактираш /etc/init.d/start.sh или /etc/rc.d//rcS.d/S99start.sh, защо не пробваш директно там? При мен за моя модел приемник са readonly и затова този, който е компилирал имиджа е извел редактируеми файлове в директория /var. При теб вероятно е друго, може би трябва да търсиш такъв файл в /usr/etc? Това е когато имиджа ти е на вътрешния флаш, ако е на usb stick всички директории са редактируеми!
Цитат на: uniqad;131866Ако ти позволява да редактираш /etc/init.d/start.sh или /etc/rc.d//rcS.d/S99start.sh, защо не пробваш директно там? При мен за моя модел приемник са readonly и затова този, който е компилирал имиджа е извел редактируеми файлове в директория /var. При теб вероятно е друго, може би трябва да търсиш такъв файл в /usr/etc? Това е когато имиджа ти е на вътрешния флаш, ако е на usb stick всички директории са редактируеми!
Файловете са във вътрешният флаш и всички могат да се редактират. /etc/rc.d//rcS.d/S99start.sh - такъв файл със сигурност нямам. Довечера ще търся в /usr/etc. Между другото командата как да я напиша (sh /var/bun/spcs.sh start - така стартира от скрипт в Allinone panela) или (/var/bun/spcs.sh start - така пък стартира през Телнета)?
Благодаря!
Сетих се нещо! Редактирай си стартиращия скрипт на инсталирания ти емулатор като заместиш командата за старт на емулатора с това "/var/bin/spcs.sh start". Така ще стартираш например mgcamd, а всъщност ще тръгва proton сървъра! Самия имидж вече е настроен да стартира емулатора автоматично при буутване!!!
Цитат на: uniqad;131870Сетих се нещо! Редактирай си стартиращия скрипт на инсталирания ти емулатор като заместиш командата за старт на емулатора с това "/var/bin/spcs.sh start". Така ще стартираш например mgcamd, а всъщност ще тръгва proton сървъра! Самия имидж вече е настроен да стартира емулатора автоматично при буутване!!!
Благодаря...и аз мислих да направя нещо подобно, но къде е този стартиращ скрипт? В момента имам ssfcamd i osscam. Ползвам само Оскама като сървър (когато протона не работи) и го стартирам от Blu Panela и при следващ рестарт на Енигмата той тръгва автоматично...
Цитат на: Чарли28;131871...къде е този стартиращ скрипт?...
Прати ми на PM като архив папките /var/bin и /var/etc
Приблема е решен с няколко дни четене по форумите и най-вече в http://www.ab-forum.info/viewforum.php?f=145 .
Решението:
1. Търсите файла: /etc/init.d/preenigma2;
2. Добавяте командата: start-stop-daemon -S -x /var/sbin/spcs -b (най отдолу във файла преди exit 0);
3. Запазвате файла и рестарт на приемника и воала...spcs стартира сам при всяко пускане на приемника.
Предполагам че и при IPBox 55 и 9900 положението е същото.
Благодарности и на uniqad за помоща!;;650
Приятен безплатен обяд на всички социално слаби!!;;650
Цитат на: Чарли28;132231Приятен безплатен обяд на всички социално слаби!!;;650
Ти пък на какъв се правиш. Пари ли мислеше да искаш за това, понеже ако е така вземи първо плати на uniqad който ти отвори очите :D
Все пак благодаря за информацията, макар че цялата процедура може да се направи през cron което е много по елегантно и по лесно според мен. Също ще ти прави проверка в реално време дали ти работи протона.
Цитат на: турбо;132246Ти пък на какъв се правиш. Пари ли мислеше да искаш за това, понеже ако е така вземи първо плати на uniqad който ти отвори очите :D
Все пак благодаря за информацията, макар че цялата процедура може да се направи през cron което е много по елегантно и по лесно според мен. Също ще ти прави проверка в реално време дали ти работи протона.
Нещо не мога да ти схвана мисълта за парите - От кой да искам пари?
А относно социално слабите - изречението е почти цитат от темата на unicad -
Ш*ринг по габровски
А за процедурата през cron - можеше да споделиш по-подробно как точно се прави за незнаещите, като мен например?
Извинявай незнаех, че е цитат, помислих че е намек.
Идеята е да се настрои crond да изпълнява на всяка минута скрипт. Във въпросният скрипт се прави проверка за активен pid на протона и ако няма такъв съответно да стартира протона. Така като ти се рестартира приемника в рамките на 1 минута ще имаш стартиран протон или каквото искаш друго. Ползата от това освен проверката ще е и макар и теоритично - намаляване времето за стартиране на приемника, защото ще има един скрипт (или повече) по-малко който ще се изпълнява при старт.
Цитат на: турбо;132251Извинявай незнаех, че е цитат, помислих че е намек.
Идеята е да се настрои crond да изпълнява на всяка минута скрипт. Във въпросният скрипт се прави проверка за активен pid на протона и ако няма такъв съответно да стартира протона. Така като ти се рестартира приемника в рамките на 1 минута ще имаш стартиран протон или каквото искаш друго. Ползата от това освен проверката ще е и макар и теоритично - намаляване времето за стартиране на приемника, защото ще има един скрипт (или повече) по-малко който ще се изпълнява при старт.
@турбо, извиням се че се меся в темата, тъй като нямам IPBOX, но може ли да ми кажете дали в тази енигма имате стартиран crond? Ако няма как да го инсталираме и как да го стартираме?
@Чарли28, по принцип енигма би тябвало да изпълнява всичко което се намира в /etc/rcS.d/
Там може да се добави собствен скрипт, примерно S99My_script, който би трябвало да се изпълни. Това, което предлага @турбо, като идея за проверяване на работата на даден процес е добро, но може да се реализира с елементарен скрипт и би следвало да се ползва когато даден процес е нестабилен и често крашва
Ето примерен скрипт:
Цитат#!/bin/sh
while [ 1 ]; do
команда
команда1
sleep 60
done
Командата sleep и цифрата след нея определят времето за изчакване, преди следващо изпълнение на цикъла.
Надявам се да съм бил полезен.
Цитат на: spaice;132290@турбо, извиням се че се меся в темата, тъй като нямам IPBOX, но може ли да ми кажете дали в тази енигма имате стартиран crond? Ако няма как да го инсталираме и как да го стартираме?
@Чарли28, по принцип енигма би тябвало да изпълнява всичко което се намира в /etc/rcS.d/
Там може да се добави собствен скрипт, примерно S99My_script, който би трябвало да се изпълни. Това, което предлага @турбо, като идея за проверяване на работата на даден процес е добро, но може да се реализира с елементарен скрипт и би следвало да се ползва когато даден процес е нестабилен и често крашва
Ето примерен скрипт:
Командата sleep и цифрата след нея определят времето за изчакване, преди следващо изпълнение на цикъла.
Надявам се да съм бил полезен.
Благодаря за скрипта! Понеже Линукса ми е малко тъмна наука би ли обяснил по-подробно действието на командата "while [1]" т.е. на мястото на "команда" и "команда1" - какво точно да се напише?
Стартиращата команда, която работи е "start-stop-daemon -S -x /var/sbin/spcs -b". С каква команда в скрипта даден от теб може да се направи проверка дали е активен процеса: /var/sbin/spcs и ако не е активен тогава да се стартира отново?
Благодаря отново!;;650
Цитат на: Чарли28;132373Благодаря за скрипта! Понеже Линукса ми е малко тъмна наука би ли обяснил по-подробно действието на командата "while [1]" т.е. на мястото на "команда" и "команда1" - какво точно да се напише?
Стартиращата команда, която работи е "start-stop-daemon -S -x /var/sbin/spcs -b". С каква команда в скрипта даден от теб може да се направи проверка дали е активен процеса: /var/sbin/spcs и ако не е активен тогава да се стартира отново?
Благодаря отново!;;650
While е цикъл, който се изпълнява докато условието в скобите е истина. Тъй като условието е 1-ца т.е. истина цикъла става безкраен. Цифрата сле sleep определя колко да се чака в секунди. командите в цикъла (команда1, команда2) се изпълняват на всяка интерация (завъртане).
Команда, с която може да се видят процесите е "ps" (без кавичките).
В твоя случай би трябвало да изглежда нещо като
Цитатps ax | grep spcs |grep -v grep
Тази команда ще върне резултат ако го има процеса spcs
За да завършим задачката, трябва да поставим едно условие if в цикъла.
if да провери дали го има процеса и ако го няма да го стартира, нещо от сорта:
Цитатwhile [ 1 ]
do
tmp=`ps ax | grep spcs |grep -v grep`
if [ $tmp -le 1 ];
then
start-stop-daemon -S -x /var/sbin/spcs -b
fi
sleep 60
done
Трябва да се провери колко са процесите spcs при нормална работа и да се зададе правилната стойност в "-le 1"
"-le 1" означава по-малко или равно на 1
Разбира се това е само пример, не мога така да гарантирам за правилната му работа.
ЦитатТрябва да се провери колко са процесите spcs при нормална работа и да се зададе правилната стойност в "-le 1"
"-le 1" означава по-малко или равно на 1
Супер си! ;;684
При старт или рестарт на spcs - дава че има три активни pids съответно с техните номера. Означава ли това че процесите са три?
Довечера ще пробвам примерният ти скрипт и ще докладвам резултата.:g035(1):
Цитат на: Чарли28;132385При старт или рестарт на spcs - дава че има три активни pids съответно с техните номера. Означава ли това че процесите са три?
Вероятно са 3, но най-добре със "ps ax" ги виж, даже виж цялата команда
ps ax | grep spcs |grep -v grep
какво ще ти даде.