我的 init.d 脚本从未使用 stop 参数调用?

我的 init.d 脚本从未使用 stop 参数调用?

我创建了一个名为 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?

答案1

我没有该版本的 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你的问题可能是启动时没有触摸a 。

另外,init.d 中的文件被调用blueBoxT,而您的 rc?.d 脚本被调用K??blueBox(没有尾随T),这令人困惑。

相关内容