Commit 5b340bd4 authored by tywldx's avatar tywldx

restart

parent 09fdeeb5
...@@ -7,13 +7,13 @@ config_shell_path="$pwd_path" ...@@ -7,13 +7,13 @@ config_shell_path="$pwd_path"
config_server="$pwd_path/config_server" config_server="$pwd_path/config_server"
project_path=`cat $config_server/project_path.sh` project_path=`cat $config_server/project_path.sh`
config_path=`cat $config_server/config_path.sh` config_path=`cat $config_server/config_path.sh`
node4_path=`cat $config_server/node_4_path.sh` # node4_path=`cat $config_server/node_4_path.sh`
node7_path=`cat $config_server/node_7_path.sh` # node7_path=`cat $config_server/node_7_path.sh`
profile=test # profile=test
max_wait_log_generate_time=50 # max_wait_log_generate_time=50
max_wait_ack_time=500 # max_wait_ack_time=500
ack_phrase="Started\ Bootstrap" # ack_phrase="Started\ Bootstrap"
time=`date +%Y_%m_%d_%H_%M_%S` # time=`date +%Y_%m_%d_%H_%M_%S`
function restartJavaProject() function restartJavaProject()
{ {
...@@ -21,41 +21,42 @@ function restartJavaProject() ...@@ -21,41 +21,42 @@ function restartJavaProject()
echo ${projects[@]} echo ${projects[@]}
for project in ${projects[@]} for project in ${projects[@]}
do do
desc=`node $config_server/get_project_config.js -name $project -attr desc` sh $pwd_path/base_script/restartJava.sh $project_name $config_server $project_path
run_command=`node $config_server/get_project_config.js -name $project -attr command` # desc=`node $config_server/get_project_config.js -name $project -attr desc`
sh $config_server/show_info.sh $project 重新启动 $desc $1 # run_command=`node $config_server/get_project_config.js -name $project -attr command`
cd $project_path/$project # sh $config_server/show_info.sh $project 重新启动 $desc $1
P_UUID=`ps -ef|grep ${project}.jar |grep -v 'grep'|awk '{print $2}'` # cd $project_path/$project
if [ -n "${P_UUID}" ];then # P_UUID=`ps -ef|grep ${project}.jar |grep -v 'grep'|awk '{print $2}'`
echo "KILL $project PPID=${P_UUID}" # if [ -n "${P_UUID}" ];then
echo `kill -9 ${P_UUID}` # echo "KILL $project PPID=${P_UUID}"
sleep 2s # echo `kill -9 ${P_UUID}`
fi # sleep 2s
log_name=`node $config_server/get_project_config.js -name $project -attr log_name` # fi
mv $project_path/logs/$log_name $project_path/logs/$project.log.$time # log_name=`node $config_server/get_project_config.js -name $project -attr log_name`
config_file=`find ./ -maxdepth 2 -name "application.properties"` # mv $project_path/logs/$log_name $project_path/logs/$project.log.$time
if [ -n "$config_file" ] # config_file=`find ./ -maxdepth 2 -name "application.properties"`
then # if [ -n "$config_file" ]
echo "already have application.properties" # then
else # echo "already have application.properties"
echo "no have application.properties" # else
if $is_public_ip && [ -n "$is_public_ip" ] # echo "no have application.properties"
then # if $is_public_ip && [ -n "$is_public_ip" ]
echo "ln -s $config_path/public/java/${project}.* /home/quant_group/${project}/application.properties" # then
ln -s $config_path/public/java/${project}.* /home/quant_group/${project}/application.properties # echo "ln -s $config_path/public/java/${project}.* /home/quant_group/${project}/application.properties"
else # ln -s $config_path/public/java/${project}.* /home/quant_group/${project}/application.properties
echo "ln -s $config_path/java/${project}.* /home/quant_group/${project}/application.properties" # else
ln -s $config_path/java/${project}.* /home/quant_group/${project}/application.properties # echo "ln -s $config_path/java/${project}.* /home/quant_group/${project}/application.properties"
fi # ln -s $config_path/java/${project}.* /home/quant_group/${project}/application.properties
fi # fi
# fi
echo "$run_command" #
# echo "$run_command"
if [[ $project == "redpacket" ]]; then #
echo `java -Xmx512m -XX:PermSize64m -Xloggc:/tmp/${project}.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar ${project}.jar --worker 1 --currentWorker 1 -t -ts > /dev/null 2>&1 &` # if [[ $project == "redpacket" ]]; then
else # echo `java -Xmx512m -XX:PermSize64m -Xloggc:/tmp/${project}.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar ${project}.jar --worker 1 --currentWorker 1 -t -ts > /dev/null 2>&1 &`
echo `java -Xmx512m -XX:PermSize64m -Xloggc:/tmp/${project}.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar ${project}.jar --worker 1 --currentWorker 1 -t > /dev/null 2>&1 &` # else
fi # echo `java -Xmx512m -XX:PermSize64m -Xloggc:/tmp/${project}.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar ${project}.jar --worker 1 --currentWorker 1 -t > /dev/null 2>&1 &`
# fi
sleep 10s sleep 10s
...@@ -69,27 +70,28 @@ function restartNodeProject() ...@@ -69,27 +70,28 @@ function restartNodeProject()
projects=(`node $config_server/get_project_config.js -type node -attr name`) projects=(`node $config_server/get_project_config.js -type node -attr name`)
for project in ${projects[@]} for project in ${projects[@]}
do do
desc=`node $config_server/get_project_config.js -name $project -attr desc` sh $pwd_path/base_script/restartNode.sh $project_name $config_server $project_path
stop_command=`node $config_server/get_project_config.js -name $project -attr command2` # desc=`node $config_server/get_project_config.js -name $project -attr desc`
sh $config_server/show_info.sh $project 重新启动 $desc $1 # stop_command=`node $config_server/get_project_config.js -name $project -attr command2`
cd $project_path/$project # sh $config_server/show_info.sh $project 重新启动 $desc $1
# cd $project_path/$project
$stop_command
# forever stop $project
# forever stop $project-www
# pm2 stop $project
start_command=`node $config_server/get_project_config.js -name $project -attr command`
$start_command
# setup_path_temp=`find ./ -maxdepth 2 -path "./node_modules" -prune -o -type f -name "app.js" -print`
# echo "------setup_path_temp:$setup_path_temp"
#
# echo `forever start -a -s --uid $project ${setup_path_temp}`
# #
# setup_path_temp_for_appbackent=`find ./ -maxdepth 2 -path "./node_modules" -prune -o -type f -name "www" -print` # $stop_command
# if [ -n "$setup_path_temp_for_appbackent" ];then # # forever stop $project
# echo "-----project:$project while be run command: python $python_project_path --mode=beta --port=$port > /dev/null 2>&1 &" # # forever stop $project-www
# echo `forever start -a -s --uid $project-www ${setup_path_temp_for_appbackent}` # # pm2 stop $project
# fi # start_command=`node $config_server/get_project_config.js -name $project -attr command`
# $start_command
# # setup_path_temp=`find ./ -maxdepth 2 -path "./node_modules" -prune -o -type f -name "app.js" -print`
# # echo "------setup_path_temp:$setup_path_temp"
# #
# # echo `forever start -a -s --uid $project ${setup_path_temp}`
# #
# # setup_path_temp_for_appbackent=`find ./ -maxdepth 2 -path "./node_modules" -prune -o -type f -name "www" -print`
# # if [ -n "$setup_path_temp_for_appbackent" ];then
# # echo "-----project:$project while be run command: python $python_project_path --mode=beta --port=$port > /dev/null 2>&1 &"
# # echo `forever start -a -s --uid $project-www ${setup_path_temp_for_appbackent}`
# # fi
done done
} }
...@@ -98,24 +100,25 @@ function restartPythonProject() ...@@ -98,24 +100,25 @@ function restartPythonProject()
projects=(`node $config_server/get_project_config.js -type python -attr name`) projects=(`node $config_server/get_project_config.js -type python -attr name`)
for project in ${projects[@]} for project in ${projects[@]}
do do
desc=`node $config_server/get_project_config.js -name $project -attr desc` sh $pwd_path/base_script/restartPython.sh $project_name $config_server $project_path
port=`node $config_server/get_project_config.js -name $project -attr port` # desc=`node $config_server/get_project_config.js -name $project -attr desc`
# port=`node $config_server/get_project_config.js -name $project -attr port`
sh $config_server/show_info.sh $project 重新启动 $desc $1 #
cd $project_path/$project # sh $config_server/show_info.sh $project 重新启动 $desc $1
setup_path_temp=`find ./ -name "run.py"` # cd $project_path/$project
python_project_path=$project_path/$project${setup_path_temp/\.\//\/} # setup_path_temp=`find ./ -name "run.py"`
# python_project_path=$project_path/$project${setup_path_temp/\.\//\/}
P_UUID=`ps -ef|grep port=$port |grep -v 'grep'|awk '{print $2}'` #
if [[ "${P_UUID}" != "" ]];then # P_UUID=`ps -ef|grep port=$port |grep -v 'grep'|awk '{print $2}'`
echo "KILL $project PPID=${P_UUID}" # if [[ "${P_UUID}" != "" ]];then
echo `kill -9 ${P_UUID}` # echo "KILL $project PPID=${P_UUID}"
sleep 3 # echo `kill -9 ${P_UUID}`
fi # sleep 3
# fi
#
echo "-----project:$project while be run command: python $python_project_path --mode=beta --port=$port > /dev/null 2>&1 &" #
echo `python $python_project_path --mode=beta --port=$port > /dev/null 2>&1 &` # echo "-----project:$project while be run command: python $python_project_path --mode=beta --port=$port > /dev/null 2>&1 &"
# echo `python $python_project_path --mode=beta --port=$port > /dev/null 2>&1 &`
done done
} }
...@@ -125,46 +128,46 @@ function restartUiProject() ...@@ -125,46 +128,46 @@ function restartUiProject()
} }
#acknowledge whether the deploy start OK #acknowledge whether the deploy start OK
function ack() # function ack()
{ # {
ack_phrase="$1" # ack_phrase="$1"
log_path="$2" # log_path="$2"
max_wait_log_generate_time="$3" # max_wait_log_generate_time="$3"
max_wait_ack_time="$4" # max_wait_ack_time="$4"
wait_log_generate_time=0 # wait_log_generate_time=0
wait_ack_time=0 # wait_ack_time=0
echo "begin acknowledge whether the deploy start OK, ACK_PHRASE=${ack_phrase}, log_path=${log_path}" # echo "begin acknowledge whether the deploy start OK, ACK_PHRASE=${ack_phrase}, log_path=${log_path}"
while [ ! -f ${log_path} ] # while [ ! -f ${log_path} ]
do # do
echo "wait_log_generate_time is ${wait_log_generate_time}, max_wait_log_generate_time is ${max_wait_log_generate_time} " # echo "wait_log_generate_time is ${wait_log_generate_time}, max_wait_log_generate_time is ${max_wait_log_generate_time} "
if ((${wait_log_generate_time}>${max_wait_log_generate_time})) # if ((${wait_log_generate_time}>${max_wait_log_generate_time}))
then # then
echo "the log generated time exceed the limit" # echo "the log generated time exceed the limit"
exit -1 # exit -1
fi # fi
echo 'the log does not exist, wait for 5 seconds' # echo 'the log does not exist, wait for 5 seconds'
sleep 5 # sleep 5
let "wait_log_generate_time+=5" # let "wait_log_generate_time+=5"
done # done
echo "listen for the log ack..." # echo "listen for the log ack..."
for ((i=0;;)) # for ((i=0;;))
do # do
bootstrap_flag=`cat ${log_path} |grep "${ack_phrase}"| wc -l` # bootstrap_flag=`cat ${log_path} |grep "${ack_phrase}"| wc -l`
if [ "${bootstrap_flag}" = 0 ] && [ "${max_wait_ack_time}" -gt "${wait_ack_time}" ] # if [ "${bootstrap_flag}" = 0 ] && [ "${max_wait_ack_time}" -gt "${wait_ack_time}" ]
then # then
sleep 5 # sleep 5
let "wait_ack_time+=5" # let "wait_ack_time+=5"
echo "waiting for bootstrap flag for ${wait_ack_time}" # echo "waiting for bootstrap flag for ${wait_ack_time}"
elif [ "${bootstrap_flag}" = 1 ] # elif [ "${bootstrap_flag}" = 1 ]
then # then
echo "server is start~ log_path:$log_path" # echo "server is start~ log_path:$log_path"
break # break
else # else
echo "server not startup in ${max_wait_ack_time} seconds.. log_path:$log_path" # echo "server not startup in ${max_wait_ack_time} seconds.. log_path:$log_path"
exit -1 # exit -1
fi # fi
done # done
} # }
if [ "$project_type" = "java" ]; then if [ "$project_type" = "java" ]; then
restartJavaProject restartJavaProject
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment