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表示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/21TOMCAT_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" instart)startecho ;;stop)stopecho ;;*)echo $"Usage: $0 {start|stop}"exit 1esacexit 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已经运行的判断等等......
页:
[1]