| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- #!/bin/sh
- #
- # Tomcat For UAS control script
- #
- # chkconfig: 2345 61 61
- # description: The Kanban Application Server
- #
- # Source function library.
- source /etc/profile
- #. /etc/rc.d/init.d/functions
- #export LANG="zh_CN.UTF-8"
- #JAVA_HOME=/usr/local/jdk1.7.0_55
- #export JAVA_HOME=$JAVA_HOME
- BASE_DIR=/home/uas/program/kanban
- PROFILE=test
- MAVEN_URI=http://maven.ubtob.com
- PORT[0]=8063
- PORT[1]=8064
- CONTEXT_NAME=kanban-console
- VERSION=0.0.1-SNAPSHOT
- WF=$CONTEXT_NAME-$VERSION.war
- run_cmd(){
- local curr=`whoami`
- local runner=uas
- if [ $curr == "root" ]; then
- runuser -l $runner -c "$1"
- elif [ $curr == $runner ]; then
- eval $1
- fi
- }
- start(){
- for port in ${PORT[@]};do
- startPort $port
- done
- }
- stop(){
- for port in ${PORT[@]};do
- stopPort $port
- done
- }
- restart(){
- for port in ${PORT[@]};do
- stopPort $port
- if [ ! -d $BASE_DIR/$port ]; then
- mkdir $BASE_DIR/$port
- fi
- run_cmd "cp -f $BASE_DIR/$WF $BASE_DIR/$port/$WF"
- startPort $port
- SERVICE_STATUS="curl -s -w %{http_code} localhost:$port"
- while [ "`$SERVICE_STATUS`" = "000" ];do
- echo "[Port=$port] Wait 3s for current service..."
- sleep 3
- done
- done
- }
- status(){
- PID_CMD="ps aux | grep $WF | grep -v 'grep' | awk '{print \$2}'"
- if [ "`eval ${PID_CMD}`" ]; then
- ps aux | grep $WF | grep -v 'grep'
- else
- echo "Service is not running."
- fi
- }
- update(){
- metadata_last=$BASE_DIR/maven-metadata-last.xml
- metadata=$BASE_DIR/maven-metadata.xml
- run_cmd "wget -q -O $metadata $MAVEN_URI/artifactory/libs-snapshot-local/com/uas/kanban/$CONTEXT_NAME/maven-metadata.xml"
- time_last="0"
- if [ -f $metadata_last ]; then
- time_last=`cat $metadata_last|grep lastUpdated|awk '{print substr($1,14,14)}'`
- fi
- time=`cat $metadata|grep lastUpdated|awk '{print substr($1,14,14)}'`
- if [ "$time_last" -ne "$time" ]; then
- rm -rf $metadata_last
- mv $metadata $metadata_last
- install
- fi
- }
- function install() {
- rm -rf $BASE_DIR/$WF.bak
- if [ -f $BASE_DIR/$WF ]; then
- mv -f $BASE_DIR/$WF $BASE_DIR/$WF.bak
- fi
- echo 'Downloading war file...'
- run_cmd "wget -O $BASE_DIR/$WF $MAVEN_URI/artifactory/libs-snapshot-local/com/uas/kanban/$CONTEXT_NAME/$VERSION/$WF"
- echo 'Download succeeded'
- restart
- }
- startPort(){
- PID_CMD_PORT="ps aux | grep $BASE_DIR/$1/$WF | grep -v 'grep' | awk '{print \$2}'"
- if [ ! "`eval ${PID_CMD_PORT}`" ]; then
- echo "[Port=$1] Starting service..."
- cd $BASE_DIR/$1
- run_cmd "nohup java -Dserver.port=$1 -Dspring.profiles.active=$PROFILE -Dserver.context-path=/kanban -server -XX:PermSize=64M -XX:MaxPermSize=128m -jar $BASE_DIR/$1/$WF 1>/dev/null 2>$BASE_DIR/$1/nohup.log &"
- else
- echo "[Port=$1] Service is already running."
- fi
- }
- stopPort(){
- PID_CMD_PORT="ps aux | grep $BASE_DIR/$1/$WF | grep -v 'grep' | awk '{print \$2}'"
- if [ "`eval ${PID_CMD_PORT}`" ]; then
- echo "[Port=$1] Stopping service..."
- eval ${PID_CMD_PORT} | xargs kill -9
- else
- echo "[Port=$1] Service is not running."
- fi
- }
- case $1 in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- restart
- ;;
- status)
- status
- ;;
- update)
- update
- ;;
- install)
- install
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|status|update|install}"
- exit 1
- ;;
- esac
|