|
|
@@ -15,51 +15,55 @@ source /etc/profile
|
|
|
#export JAVA_HOME=$JAVA_HOME
|
|
|
|
|
|
BASE_DIR=/home/uas/program/kanban
|
|
|
-BACKUP_DIR=$BASE_DIR
|
|
|
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
|
|
|
-PID_CMD="ps aux | grep $WF | grep -v 'grep' | awk '{print \$2}'"
|
|
|
-cd $BASE_DIR
|
|
|
-
|
|
|
-start(){
|
|
|
- if [ ! "`eval ${PID_CMD}`" ]; then
|
|
|
- echo "Starting service..."
|
|
|
- cd $BASE_DIR/node0
|
|
|
- startWithPort 8063
|
|
|
- cd $BASE_DIR/node1
|
|
|
- startWithPort 8064
|
|
|
- cd $BASE_DIR
|
|
|
- status
|
|
|
- else
|
|
|
- echo "Service is already running."
|
|
|
+
|
|
|
+run_cmd(){
|
|
|
+ local curr=`whoami`
|
|
|
+ local runner=uas
|
|
|
+ if [ $curr == "root" ]; then
|
|
|
+ runuser -l $runner -c "$1"
|
|
|
+ elif [ $curr == $runner ]; then
|
|
|
+ eval $1
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
-startWithPort(){
|
|
|
- nohup java -Dserver.port=$1 -Dspring.profiles.active=$PROFILE -Dserver.context-path=/kanban -server -XX:PermSize=128M -XX:MaxPermSize=256m -jar $BASE_DIR/$WF 1>log.log 2>nohup.log &
|
|
|
+start(){
|
|
|
+ for port in ${PORT[@]};do
|
|
|
+ startPort $port
|
|
|
+ done
|
|
|
}
|
|
|
|
|
|
stop(){
|
|
|
- if [ "`eval ${PID_CMD}`" ]; then
|
|
|
- echo "Stopping service..."
|
|
|
- eval ${PID_CMD} | xargs kill -9
|
|
|
- else
|
|
|
- echo "Service is not running."
|
|
|
- fi
|
|
|
+ for port in ${PORT[@]};do
|
|
|
+ stopPort $port
|
|
|
+ done
|
|
|
}
|
|
|
|
|
|
restart(){
|
|
|
- if [ "`eval ${PID_CMD}`" ]; then
|
|
|
- stop
|
|
|
- fi
|
|
|
- start
|
|
|
+ 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
|
|
|
@@ -68,9 +72,9 @@ status(){
|
|
|
}
|
|
|
|
|
|
update(){
|
|
|
- metadata_last=maven-metadata-last.xml
|
|
|
- metadata=maven-metadata.xml
|
|
|
- wget -q -O $metadata $MAVEN_URI/artifactory/libs-snapshot-local/com/uas/kanban/$CONTEXT_NAME/maven-metadata.xml
|
|
|
+ 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)}'`
|
|
|
@@ -84,15 +88,35 @@ update(){
|
|
|
}
|
|
|
|
|
|
function install() {
|
|
|
- stop
|
|
|
- rm -rf $WF.bak
|
|
|
- if [ -f $WF ]; then
|
|
|
- mv -f $WF $WF.bak
|
|
|
+ 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...'
|
|
|
- wget $MAVEN_URI/artifactory/libs-snapshot-local/com/uas/kanban/$CONTEXT_NAME/$VERSION/$WF
|
|
|
+ run_cmd "wget -O $BASE_DIR/$WF $MAVEN_URI/artifactory/libs-snapshot-local/com/uas/kanban/$CONTEXT_NAME/$VERSION/$WF"
|
|
|
echo 'Download succeeded'
|
|
|
- start
|
|
|
+ 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
|
|
|
@@ -118,4 +142,4 @@ case $1 in
|
|
|
echo "Usage: $0 {start|stop|restart|status|update|install}"
|
|
|
exit 1
|
|
|
;;
|
|
|
-esac
|
|
|
+esac
|