tomcat啓動腳本

寫一個tomcat的啓動腳本並不是多麼困難的實情,網上很多腳本基本功能都能實現,但是其實並不完善。
之所以想寫這個腳本是因爲大家在寫腳本的時候使用的方法太“笨”,比如去查找某進程PID大家一般都會通過ps -ef配合grep去實現,但是大家並不知道可以用pidof和pgrep來查找進程的PID。還有程序的啓動、停止、狀態查看都可以用系統的函數來實現,我們要做的只是簡單的調用就OK。
所以系統的functions(/etc/init.d/functions)很重要,大家都應該去熟悉瞭解它。

Linux學習之/etc/init.d/functions詳解
https://blog.51cto.com/billy98/2043957

#!/bin/sh

#create at 2016-08-23
#author billy
#qq 5884628

# chkconfig: 2345 31 61
# description: this is tomcat start scprits

prog="tomcat-pc"
BASE_DIR=/application/$prog
START="$BASE_DIR/bin/startup.sh"
SHUTDOWN=$BASE_DIR/bin/shutdown.sh
. /etc/init.d/functions            #調用系統函數
RETVAL=0
uid=`id | cut -d\( -f1 | cut -d= -f2`

start() {
        # Only root can start the service
        [ $uid -ne 0 ] && exit 4
        if status $prog > /dev/null ; then    #查看status
                exit 0
        fi
        daemon --user=tomcat "$START" >/dev/null 2>&1 && \    #使用daemon以tomcat用戶啓動
        action  $"Starting $prog: "
        RETVAL=$?
        if [ $RETVAL -eq 0 ] ; then
                touch /var/lock/subsys/$prog
                [ ! -f /var/run/${prog}.pid ] &&
                    /usr/bin/pgrep -f "$prog/conf" > /var/run/${prog}.pid
        fi
        return $RETVAL
}

stop() {
        echo -n $"Stopping $prog: "
        #kill -9 `cat /var/run/${prog}.pid`
        killproc $prog
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && {
                rm -f /var/lock/subsys/$prog
                rm -f /var/run/${prog}.pid
        }
        return $RETVAL
}

case $1 in
  start)
start
RETVAL=$?
;;
  stop)
stop
RETVAL=$?
;;
  restart|reload)
stop
start
RETVAL=$?
;;
  status)
        status $prog
        RETVAL=$?
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|reload}"
        RETVAL=2
        ;;
esac

exit $RETVAL

操作顯示如下:
tomcat啓動腳本

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章