Страница 1 из 1

тупой вопрос знатокам LSB (ну и SUSE само собой)

СообщениеДобавлено: 13 сен 2008, 20:52
Dimerson
SLES10/ORACLE10R2
пишу вот стартовый скрипт для сервера приложений.
он должен запускаться после старта oracle (с ним проблем нет - orarun rpm содержит развесистый скрипт).

сервер приложений на java (суть похаченый томкат и запускает в конце концов catalina.sh (со своей явой что облегчает жизнь))

то есть надо чтобы он запускался после oracle и останавливался до него
посему 3 вопроса:
1. в шапке стартового скрипта надо прописать
### BEGIN INIT INFO
# Provides: daemonname
# Required-Start: oracle
# Required-Stop: oracle
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO

см параметры Required-Start и Required-Stop

то есть оно и будет стартовать после а останавливаться до rcoracle ?

2. так как я пускаю не бинарник а скрипт то в случае
case "$1" in
start)
команде startproc можно скормить через -p реальный pid файл
сервера приложений

в случае
status)
можно скормить checkproc полный путь к своей жабе и правильный
pid типа
checkproc -p /opt/lalala/log/file.pid /opt/lalala/jre/bin/java

для
stop) просто свой shutdown.sh

вопрос с restart)

catalina останавлиается примерно минуту и более (он с
параметром stop шлет главному процессу сигнал и выходит а
shutdown сервиса идет автономно)
то есть
$0 stop
$0 start
боюсь обломится
что делает ALL - игнорит case рестарт) или обвешивать все это wait'ами
смотреть жив ли процесс /opt/lalala/jre/bin/java и если все еще жив
kill -KILL ?

как-то в LSB они крупным полотном заделали .... в Debian все попроще
:)

СообщениеДобавлено: 14 сен 2008, 16:58
v13
Я обычно не заморачивался и вставлял нужные команды в:
/opt/oracle/product/9ir2/bin/dbstart
и
/opt/oracle/product/9ir2/bin/dbshut
в 9-м оракле.

СообщениеДобавлено: 14 сен 2008, 19:37
Dimerson
как показывает опыт - все мастырки выходят боком (могут выйти через некоторое вермя).
лучше сделать все выдержанными в идеологии дистрибутива Linux средствами.

СообщениеДобавлено: 15 сен 2008, 23:42
v13
orarun.rpm это тоже мастырка по большому счету.
А по поводу стиля Linux - они разные. в зависимости от дистрибутива :)
Моё imho - чем проще сделаешь, тем более будешь себе благодарен потом.

СообщениеДобавлено: 16 сен 2008, 05:32
Dimerson
сделал штатно по идеологии suse.
зависимость от oracle работает.
rcappserver [start | stop | restart | status ] отрабатывает как и с коммандной строки так и из yast.

imho именно это и есть просто - _прозрачно_ для OS.

СообщениеДобавлено: 20 сен 2008, 18:58
Dimerson
Вот блин обнаружилась фича -

. /etc/rc.status

выстанавливает LC_ALL=POSIX.

в остальном миграция oracle+appserver на SLES10SP2 прошла нормально.