#!/bin/bash source /etc/profile #sh /opt/service/9-com-ycg-rosefinch-bos-data/op-srm-test-service-9-com-ycg-rosefinch-op-api.sh start #sleep 3 #sh /opt/service/14-com-ycg-rosefinch-op-route/op-vms-test-service-14-com-ycg-rosefinch-op-route.sh start #sleep 3 #sh /opt/service/16-1-com-ycg-rosefinch-vms/op-vms-test-service-16-1-com-ycg-rosefinch-vms.sh start basepath=$(cd `dirname $0`; pwd) echo $basepath cd $basepath #rm -rf ./logs/* #stop service if [ -d ./query ]; then killjarfile='' for file in ./query/* do if [ -f $file ]; then jfile=$(echo $file | grep .jar) if [[ $jfile != "" ]]; then killjarfile=${jfile:2} fi fi done let length=${#killjarfile}-4 echo 'length>'$length pidstr=${killjarfile:0:30}.pid pidstr=${pidstr:6} echo 'pidstr>'$pidstr kill `cat query/$pidstr` rm -rf $pidstr echo "=== stop $SERVICE_NAME" SERVICE_NAME=${killjarfile:0:30} SERVICE_NAME=$pidstr let lng=${#SERVICE_NAME}-4; SERVICE_NAME=${SERVICE_NAME:0:lng} sleep 5 P_ID=`ps -ef | grep -w "$SERVICE_NAME" | grep -v "grep" | awk '{print $2}'` if [ "$P_ID" == "" ]; then echo "=== $SERVICE_NAME process not exists or stop success" else echo "=== $SERVICE_NAME process pid is:$P_ID" echo "=== begin kill $SERVICE_NAME process, pid is:$P_ID" kill -9 $P_ID fi fi if [ -d ./query ]; then echo "开始删除query文件夹" rm -rf "query" echo "删除文件夹结束" fi zipfile='' for file in ./* do if [ -f $file ]; then #if test -f $file then result=$(echo $file | grep .zip); if [[ $result != "" ]]; then zipfile=${result:2} fi fi done unzip $zipfile jarfile='' for file in ./query/* do if [ -f $file ]; then jfile=$(echo $file | grep .jar) if [[ $jfile != "" ]]; then jarfile=${jfile:2} fi fi done let length=${#jarfile}-4 echo 'length>'$length pidstr=${jarfile:0:30} echo 'pidstr>'$pidstr nohup java -Xms256m -Xmx256m -jar $basepath/$jarfile >/dev/null 2>&1 & echo $! > $pidstr.pid echo '###############################' echo $jarfile' is running' echo '###############################'
下面是WEB配置
#!/bin/bash TOMCAT_HOME="$3" TOMCAT_PORT="$2" PROJECT="$1" source /etc/profile if [ $# -lt 1 ]; then echo "you must use like this : ./deploy.sh <projectname> [tomcat port] [tomcat home dir]" exit fi if [ ! -n "$2" ]; then TOMCAT_PORT=$2 fi if [ ! -n "$3" ]; then TOMCAT_HOME="$3" fi tomcat_pid=`netstat -anp | grep $TOMCAT_PORT | awk '{printf $7}' | cut -d "/" -f 1` echo "current :" $tomcat_pid while [ -n "$tomcat_pid" ] do sleep 5 tomcat_pid=`ps -ef | grep $tomcat_pid |grep $TOMCAT_HOME | grep -v 'grep|tail|more|bash|less'| awk '{print $2}'` echo "scan tomcat pid :" $tomcat_pid if [ -n "$tomcat_pid" ]; then echo "kill tomcat :" $tomcat_pid kill -9 $tomcat_pid fi done #BAK_DIR=$HOME/war/bak/$PROJECT/`date +%Y%m%d` #mkdir -p "$BAK_DIR" #cp "$TOMCAT_HOME"/webapps/$PROJECT.war "$BAK_DIR"/"$PROJECT"_`date +%H%M%S`.war #publish project echo "scan no tomcat pid,$PROJECT publishing" rm -rf "$TOMCAT_HOME"/webapps/$PROJECT rm -rf "$TOMCAT_HOME"/webapps/$PROJECT.war rm -rf "$TOMCAT_HOME"/logs/* cp /opt/war/$PROJECT.war "$TOMCAT_HOME"/webapps/$PROJECT.war #remove tmp rm -rf /opt/war/$PROJECT.war #start tomcat "$TOMCAT_HOME"/bin/startup.sh echo "tomcat is starting,please try to access $PROJECT conslone url"