gpt4 book ai didi

linux - insserv 问题 - 脚本无法在启动时启动

转载 作者:太空宇宙 更新时间:2023-11-04 04:21:01 26 4
gpt4 key购买 nike

我试图让 oracle 在我的 linux 发行版 (opensuse 12.2) 启动时启动。手动运行时该脚本工作正常。但重启后什么也没有发生。当我运行 inserv 时,我收到以下这些消息,知道为什么吗?

insserv:警告:脚本 dbora' 的当前启动运行级别 (3 5) 覆盖默认值 (2 3 4 5)。
insserv:警告:脚本的当前停止运行级别(空)
dbora' 覆盖默认值 (2 3 4 5)。

这是脚本:

#!/bin/bash

### BEGIN INIT INFO
# Provides: my_oracle_database
# Required-Start: $local_fs $syslog
# Required-Stop: $local_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: my_oracle_database
# Description: my_oracle_database
### END INIT INFO
export PATH=/oracle10/product/10.2.0/bin:$PATH
case "$1" in
start | startup | go | on)
su - oracle -c "/oracle10/product/10.2.0/bin/lsnrctl start"
su - oracle -c /oracle10/product/10.2.0/bin/dbstart /oracle10/product/10.2.0/
;;
stop | shutdown | halt | off)
su - oracle -c "/oracle10/product/10.2.0/bin/lsnrctl stop"
su - oracle -c /oracle10/product/10.2.0/bin/dbshut /oracle10/product/10.2.0/
;;
*)
;;
esac

最佳答案

您的问题可能是这些行:

su - oracle -c /oracle10/product/10.2.0/bin/dbstart /oracle10/product/10.2.0/
...
su - oracle -c /oracle10/product/10.2.0/bin/dbshut /oracle10/product/10.2.0/

su 默认情况下通过 /bin/sh 执行使用 -c 选项给出的命令,同时将除用户名之外的所有其他位置参数传递给 shell(如 $0$1,...):

# su nobody -c 'echo prog:$0 args:$@' a b c d
prog:a args:b c d

在您的脚本中,您缺少命令周围的引号,因此您在不带参数的情况下执行 dbstart/dbshut,同时将路径作为 $0 传递到 shell。

关于linux - insserv 问题 - 脚本无法在启动时启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13256546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com