Solaris的自启动

要写一个自启动脚本, 以前用red hat, 公司现在用solaris, 就网上查找了一下solaris的资料,关于solaris的启动,是这样的:

    在/etc/的目录里,可以看到rc1.d,rc2.d,rc3.d,rc0.d,rcS.d 和 init.d这些目录,在init.d的目录下放的脚本,会在系统启动时或运行级别改动是,由系统的init进程执行。

    在以rc开头的文件夹里放置的脚本都会以K或S开头命名,命名的规则是 [K/S] + [nn] + [scriptname], K表示kill,S表示start, nn表示一个2位数字的序号,scriptname就是脚本的名字。举个例子,当运行级别由2改动到3的时候,系统会按照nn的顺序,以stop参数执行rc3.d下所有K开头的脚本,然后按照nn的顺序,以start参数执行rc3.d下所有S开头的脚本。

    初步了解上面的内容后,就写一个简单的例子,用来自启动tomcat, 脚本如下:

#!/bin/sh
#
#write by zhouxiaobo 11/11/21

TOMCAT_HOME="/opt/apache/apache-tomcat-6.0.10"
start(){
  echo "Starting Apache Tomcat 6.0.10"
  su apache -c "$TOMCAT_HOME/bin/startup.sh"
  echo "Apache Tomcat 6.0.10 already run."
}

stop(){
  echo "Stopping Apache Tomcat 6.0.10"
  su apache -c "$TOMCAT_HOME/bin/shutdown.sh"
  echo "Apache Tomcat 6.0.10 already stop."
}

case "$1" in
start)
  start
  echo ;;
stop)
  stop
  echo ;;
*)
  echo $"Usage: $0 {start|stop}"
  exit 1
esac

exit 0

   文件命名为tomcatrun,并放在/etc/init.d目录下,执行chmod +x tomcatrun 改变权限。

   然后,将该文件link到rc目录下:

   ln -s /etc/init.d/tomcatrun /etc/rc0.d/K99tomcatrun

   ln -s /etc/init.d/tomcatrun /etc/rc3.d/S99tomcatrun

   在rc0级别先关闭,rc3级别再启动。这个脚本只是一个例子,还是很不健壮的,自启动脚本应该写的很健壮,比如上面还有加上,启动失败的处理, 启动时tomcat已经运行的判断等等......

猜你喜欢

转载自squll369.iteye.com/blog/1270736