SUSE Linux沒有rc.local
一、創建啟動/停止腳本文件
通過一下腳本,可以使Tomcat以Service方式運行。
#!/bin/bash
# chkconfig: 2345 10 90
# description: Starts and Stops the Tomcat daemon.
TOMCAT_HOME=/usr/local/apache-tomcat-5.5.12
TOMCAT_START=$TOMCAT_HOME/bin/startup.sh
TOMCAT_STOP=$TOMCAT_HOME/bin/shutdown.sh
# necessary environment variables export
CATALINA_HOME=$TOMCAT_HOME
export JAVA_HOME=/usr/java/jdk1.5.0_05
# source function library.
. /etc/rc.d/init.d/functions
# source networking configuration.
. /etc/sysconfig/network
# check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0
# check for tomcat script
if [ ! -f $TOMCAT_HOME/bin/catalina.sh ]
then echo "Tomcat not valilable..."
exit
fi
start(){
echo -n "Starting Tomcat: "
daemon $TOMCAT_START
echo
touch /var/lock/subsys/tomcat
}
stop(){
echo -n $"Shutting down Tomcat: "
daemon $TOMCAT_STOP
rm -f /var/lock/subsys/tomcat.pid echo
}
restart(){
stop
start
}
status(){
ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start"
| awk '{printf {GetProperty(Content)} " "}' | wc | awk '{print $2}' >
/tmp/tomcat_process_count.txt
read line < /tmp/tomcat_process_count.txt
if [ $line -gt 0 ]; then
echo -n "tomcat ( pid "
ps ax --width=1000 | grep "org.apache.catalina.startup.Bootstrap start" | awk '{printf {GetProperty(Content)} " "}'
echo -n ") is running..."
echo
else
echo "Tomcat is stopped"
fi
}
case "{GetProperty(Content)}" in
start)
start ;;
stop)
stop ;;
restart)
stop
sleep 3
start ;;
status)
status ;;
*)
echo "Usage: tomcatd {start|stop|restart|status}"
exit 1
esac
exit 0
二、保存並設置腳本文件
將以上的腳本文件保存在/etc/init.d中,命名為tomcat;
設置tomcat的文件屬性
#chmod a+x tomcat
三、設置服務運行級別
最後用chkconfig設置服務運行
#chkconfig --add tomcat
注意:
在tomcat文件的頭兩行的注釋語句中,需要包含chkconfig和description兩部分內容(確認不要拼寫錯誤,),否則在執行“chkconfig --add tomcat”時,會出現“tomcat服務不支持chkconfig”的錯誤提示。
chkconfig這行表示缺省啟動的運行級別以及啟動和停止的優先級,如該服務缺省不再任何運行級啟動,則以 - 代替運行級別。在tomcat中表示腳本在運行級2、3、4、5啟動,啟動優先權為10,停止優先權為90。
description行對服務進行描述,可以用 “\” 跨行注釋。