Я создал сценарий blueBoxT для запуска и остановки Oracle и поместил его в каталог /etc/init.d.
#!/bin/bash
echo "blueBoxT $1 - `date '+%Y%m%d%H%M'`" >> /root/blueBoxT.log
case "$1" in
'start')
echo "Starting Oracle"
su - oracle -c "/home/oracle/startDBT"
;;
'stop')
echo "Stopping Oracle"
su - oracle -c "/home/oracle/stopDBT"
;;
*)
echo "`basename $0`: usage: `basename $0` { stop | start }"
;;
esac
exit 0
Я сделал символические ссылки так ...
root@dev /etc/rc.d
# find . -name *blueBox*
./rc2.d/K11blueBox
./rc6.d/K11blueBox
./init.d/blueBoxT
./rc1.d/K11blueBox
./rc3.d/S97blueBox
./rc0.d/K11blueBox
./rc5.d/S97blueBox
./rc4.d/S97blueBox
Журнал в /root/blueBoxT.log показывает команду запуска и экземпляр Oracle работает.
Команда остановки никогда не вызывается. Этого нет в моем журнале.
root@dev /root
# cat blueBoxT.log
blueBoxT start - 201008051323
blueBoxT start - 201008051327
blueBoxT start - 201008051346
blueBoxT start - 201008051356
Я выключил свою Fedora 10 с помощью команды ...
shutdown -h now
Что я неправильно сконфигурировал, чтобы не получать остановку, чтобы я мог нормально завершить работу Oracle?
У меня нет этой версии Fedora, но для RHEL5 важная часть /etc/rc.d/rc:
subsys=${i#/etc/rc$runlevel.d/K??}
[ -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init ] \
|| continue
Ваша проблема может заключаться в том, что вы не трогаете /var/lock/subsys/blueBox
при запуске.
Также файл в init.d называется blueBoxT
тогда как ваши сценарии rc? .d называются K??blueBox
(без следа T
), что сбивает с толку.