Java工程的deploy脚本

哥常用的linux部署脚本,喜欢的拿去用吧

#!/bin/sh
flag=0
env=$2
tempdir="tempdir"
jarname="sellerinfo-cacheload.jar"
grepname="sellerinfo-cacheload"
project="com.dhgate.search.sellerinfo.server.Startup"
java_opts="-Xms1024m -Xmx1024m"
start() {
	cs='.:'
	curr="`pwd`/"$jarname
	curr=$curr:"`pwd`/conf"
	libpath="`pwd`/lib/"
	FILES=`ls $libpath`
	for txt in $FILES;do
		cs=$cs$libpath$txt:
	done
	cs=$cs$curr
	#echo $cs
	echo [`date`] starting ......
	pid=`ps -ef | grep $grepname | grep -v "grep"|awk '{print $2}'`
	if [ ! $pid ]; then
		echo "program is not running"
	else
		echo "program is running"
	kill -9 $pid
	fi
	nohup java $java_opts -cp $cs $project 1>/dev/null 2>&1 &
	echo "program startup success"
}

debug() {
	cs='.:'
	curr="`pwd`/"$jarname
	curr=$curr:"`pwd`/conf"
	libpath="`pwd`/lib/"
	FILES=`ls $libpath`
	for txt in $FILES;do
		cs=$cs$libpath$txt:
	done
	cs=$cs$curr
	#echo $cs
	echo [`date`] starting ......
	pid=`ps -ef | grep $grepname | grep -v "grep"|awk '{print $2}'`
	if [ ! $pid ]; then
		echo "program is not running"
	else
		echo "program is running"
	kill -9 $pid
	fi
	nohup java $java_opts -Xdebug -Xrunjdwp:transport=dt_socket,address=8923,server=y,suspend=y -cp $cs $project 1>/dev/null 2>&1 &
	echo "program startup success (debug model)"
}   
  
stop() {
	echo [`date`] stopping ......
	pid=`ps -ef | grep $grepname | grep -v "grep"|awk '{print $2}'`
	if [ ! $pid ]; then
		echo "program is not running"
	else
		kill -9 $pid
		echo "stop program success"
	fi
}

case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	status)
		ps -ef | grep $grepname
		;;
	debug)
		debug
		;;
	test)
		test
		;;
	*)
	echo "Tools: { start | stop | debug | status }"
	exit 1
esac

 

猜你喜欢

转载自qiushi-fly.iteye.com/blog/2213148