update_war="$1"
server_name="$2"
war_name="$3"
function start() {
	if [ "$server_name" = "" ]; then
		echo "$update_war,$server_name,$war_name"

		all=$(awk 'END{print NR}' server_war.txt)

		for ((i = 1; i <= $all; i++)); do
		
			#col_num=`awk "NR=="$i"{print NF}" server_war.txt`
			serverName=`awk 'NR=="'$i'"{print $1}' server_war.txt`
	
			echo "--------------------停止服务$serverName--------------------"
			# 停止服务
			stop_one $serverName

			# 更新war包
			if [ "$update_war" = "1" ]; then
				echo "--------------------更新war包$serverName--------------------"
				download $serverName
			fi

			echo "--------------------启动服务$serverName--------------------"
			# 启动服务
			start_one $serverName

		done

	else
		echo "$update_war,$server_name,$war_name"
		echo "--------------------停止服务$server_name--------------------"
		# 停止指定服务
		stop_one $server_name

		# 更新war包
		if [ "$update_war" = "1" ]; then
			echo "--------------------更新war包$server_name--------------------"
			download $server_name
		fi

		echo "--------------------启动服务$server_name--------------------"
		# 启动服务
		start_one $server_name
	fi
}

function download() {
	server_name="$1"

        if [ "$server_name" = "" ]; then
		#下载所有服务所有war  这个逻辑有问题 弃用

		all=$(awk 'END{print NR}' server_war.txt)

		for ((x = 1; x <= $all; x++)); do
		
			col_num=`awk "NR=="$x"{print NF}" server_war.txt`

			for ((j = 2; j <= $col_num; j++)); do
		
				war_name2=$(awk "NR=="$x"{print $"$j"}" server_war.txt)


				do_download "$war_name2"

			done

		done
	else

		# 判断是否更新war包
		if [ "$war_name" = "" ]; then
			#下载单个服务所有war包
			all=$(awk 'END{print NR}' server_war.txt)

			for ((x = 1; x <= $all; x++)); do
			
				col_num=`awk "NR=="$x"{print NF}" server_war.txt`
				serverName2=`awk 'NR=="'$x'"{print $1}' server_war.txt`
			
				if [ "$serverName2" = "$server_name" ]; then
					for ((j = 2; j <= $col_num; j++)); do
				
						war_name2=$(awk "NR=="$x"{print $"$j"}" server_war.txt)
						
						do_download "$war_name2"

					done
				fi

			done
		else

			do_download "$war_name"
		fi
	fi

	

}

function do_download() {
	war_name3="$1"

	wget -N -P $path/opt/tomcat/$server_name/webapps http://39.105.10.2/bak/war/$war_name3

}

function stop_one() {

	server_name="$1"

	$path/opt/tomcat/$server_name/bin/shutdown.sh

	# 杀死顽固进程
	ps -ef | grep -E "tomcat/$server_name" | grep -v grep | awk '{print $2}' | xargs kill -9

	\cp ./catalina.sh $path/opt/tomcat/$server_name/bin

	chmod 777 $path/opt/tomcat/$server_name/bin/catalina.sh

	\cp ./shutdown.sh $path/opt/tomcat/$server_name/bin

	chmod 777 $path/opt/tomcat/$server_name/bin/shutdown.sh

}

function start_one() {

	server_name="$1"
	$path/opt/tomcat/$server_name/bin/startup.sh

}

wget -N http://82.156.35.109/script/catalina.sh
wget -N http://82.156.35.109/script/shutdown.sh
wget -N http://82.156.35.109/script/server_war.txt

if [ -d "/home/anan/opt/tomcat" ]; then
	path="/home/anan"
fi

start

rm -rf catalina.sh
rm -rf shutdown.sh
rm -rf server_war.txt
#tail -f /opt/tomcat/tomcat_club/logs/catalina.out
