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 ___FCKpd___0quot;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 $1 " "}' | 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 $1 " "}' echo -n ") is running..." echo else echo "Tomcat is stopped" fi } case "$1" 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行對服務進行描述,可以用“” 跨行註解。