linux sybase启动服务无法启动,让sybase在Linux启动时自启动

1.写自启动脚本 start.syb.sh

#!/bin/sh

su - sybase <

./sybase_start.sh

EOF

把这个脚本放到目录 /etc/rc.d/init.d 里

2.切换到sybase 用户,在sybase目录下新建脚本 sybase_start.sh

#!/bin/sh

PrgPID=`ps -ef|grep -w dataserver|grep -v grep|awk '{print $2}'`

if [ "x$PrgPID" != "x" ]; then

echo "sybase is running"

exit

else

echo "now starting sybase"

cd /opt/sybase/sdb/ASE-12_5/install/

./startserver &

fi

这个脚本才是真正的启动sybase的脚本

3.在 /etc/rc.d/目录下有 rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d 这几个目录,rc 后面的数字代表着不同的运行级别,意思就是不同运行级别的自启动程序放在不同的rc目录里。关于运行级别可以在 /etc/inittab文件里查到,比如我的机器是 id:3:initdefault: 表示启动后的系统是多用户的命令模式。为了要让sybase自动,所以我要把脚本start.syb.sh软连接到这个目录下。进入 rc3.d后,执行命令

ln -s /etc/init.d/star_syb.sh ./S100star_syb.sh 这样就可以了。

关于连接名字前为什么要有S100原因如下:

在各个运行级别的子目录中,都建立有到/etc/rc.d/init.d子目录中命令脚本程序的符号链接,但是,这些符号链接并不使用命令脚本程序在 /etc/rc.d/init.d子目录中原来的名字。如果命令脚本程序是用来启动一个服务的,其符号链接的名字就以字母S打头;如果命令脚本程序是用来关闭一个服务的,其符号链接的名字就以字母K打头。

许多情况下,这些命令脚本程序的执行顺序都很重要。如果没有先配置网络接口,就没有办法使用DNS服务解析主机名!为了安排它们的执行顺序,在字母S 或者K的后面紧跟着一个两位数字,数值小的在数值大的前面执行。比如:/etc/rc.d/rc3.d/S50inet就会在 /etc/rc.d/rc3.d/S55named之前执行(S50inet配置网络设置,S55named启动DNS服务器)。

我的机器里S开头的正好表到了99,所以新加的只能是100开始了。

sybase 退出脚本

切换的sybase 用,在sybase目录下编写脚本 sybase_stop.sh,脚本名可以随便取

#!/bin/sh

PrgPID=`ps -ef|grep dataserver|grep -v grep|awk '{print $2}'`

if [ "x$PrgPID" = "x" ]; then

echo "sybase wasn't running"

exit;

fi

echo "PID is : $PrgPID"

isql -Usa -P<

shutdown

go

EOF

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值